如果我理解正確,組件的React生命週期應確保在componentWillReceiveProps
之前調用componentDidMount
。當我在一個組件的初始安裝上測試它時,它似乎以這種方式工作。但是,當組件已經被安裝並重新安裝時,順序是相反的。這是預期的行爲?下面這段代碼說明了可以引入這樣一個潛在的bug: 生命週期:componentWidReceiveProps在組件之前調用
class Example extends React.Component {
componentDidMount() {
this.something = { foo: 'bar' };
}
componentWillReceiveProps(nextProps) {
this.something.foo;
// Throws a TypeError if this code is reached before
// componentDidMount is called.
}
}
您能分享您的測試牀嗎?無論如何,在裝配時不會調用'componentWillReceiveProps'。稍後,它會在收到新的道具時調用。但是'componentDidMount'根本不會被調用,除非組件已經被首先卸載。 – hazardous