我正在使用React(14.2)和Redux。除了當我在update上分配一個動作時,我有一切設置和工作,發生遞歸循環。React Redux在更新時發送導致遞歸錯誤
componentWillMount() {
const { wizardActions, valid, errors } = this.props
wizardActions.setPropState({valid: valid, errors: errors})
}
componentWillUpdate(nextProps) {
const { wizardActions } = this.props
console.log('NP', nextProps)
//*** IF I UNCOMMENT THE FOLLWOING LINES THE APP GOES INTO AN INFINTIE
// RECURSION LOOP...
/*if(this.props !== nextProps) {
wizardActions.setPropState({valid: nextProps.valid, errors: nextProps.errors})
}*/
}
如何在當前組件的道具更改時更新Redux狀態?我也在componentWillReceiveProps()
中試過這個,它也做了同樣的事情。
TIA!
使用'if'語句?當然,你只想在具有特定情況的更新後調度,比如'this.props!== nextProps' – azium
添加了if語句,但仍然是相同的行爲 –
哦,它不能是* exact * if語句,因爲對象引用是總是不同的..這將永遠評估爲真。你必須比較你想成爲新的道具內的特定值。 – azium