1
如果我在頁面上有五個組件,它們可以從商店獲取某些內容。他們都在聽一家商店。對於所有組件,我在商店中創建偵聽器。聆聽商店vs forceUpdate()
我的問題是 - 我可以使用forceUpdate()
而不是偵聽器。送東西在商店並等待更新:
getInitialState: function() {
return {val: Store.getFoo};
},
click: function(info) {
Store.updateInfo(info, function() {
this.forceUpdate();
})
}
在店:
updateInfo: function(info, callback) {
foo = info + someValue;
callback()
}
但在文檔:
通常情況下,你應該儘量避免forceUpdate的所有使用()和只能從render.props和this.state中讀取render()。這使得您的應用更簡單,更高效
謝謝。
知道了,謝謝! – nick
有時'shouldComponentUpdate'是一個痛苦的屁股,當一個組件等待一個對象> 10個屬性,只有一個可以改變。 – nick
另外我想知道爲什麼我不應該?我可以在'render'中存儲變量 - 'let var = Store.getVar();'。如果我在商店中更改'var',我可以執行'forceUpdate()'。我也可以用「獨立的孩子」來做。如果我不發送新的道具,'ForceUpdate'不會重新渲染孩子。更少的代碼,我不需要在'state'中保持變量,只在商店中 – nick