基本上我想一個組件中有這樣的:reactjs:有沒有公共API來檢查,如果組件安裝/卸載
setTimeout(() =>
{
if (this.isMounted()) // NOTE: this does not exist
setState({ foo: 123 });
}, 5000);
但是沒有API對於這一點,我錯了?
在卸載的組件上調用setState()
被認爲是錯誤(並在開發模式下由React記錄)。
當然,我可以通過設置this._mounted = false
等來設置我自己的狀態componentWillUnmount()
等,但我不喜歡在不需要的情況下添加私有狀態。
你檢查過'componentDidMount'鉤子嗎? https://facebook.github.io/react/docs/component-specs.html#mounting-componentdidmount – selvagsz
一些討論正在增加新的生命週期鉤子https://github.com/facebook/react/issues/7678 – selvagsz
我已經知道組件的生命週期,無論如何。 –