我正在從Rest API,Container和Presentational組件中加載數據。Redux&React:調用componentDidUpdate,但不會發生重新渲染
集裝箱
componentWillMount() {
this.props.load();
}
componentDidUpdate() {
console.log('updated');
}
render() {
let view;
view = this.props.data ? (<Foo data={this.props.data} />) : (<H2>Loading</H2>)
return (
<div>
{view}
</div>
)
}
load
- 獲取數據,並在成功加載減速分派的事件。
@Connect
function select(state) {
const { data } = state.modules;
return {
data: data
};
}
export default connect(select, {
load: actions.data.load
})(ContainerComponent);
據我瞭解,在訴訟被分派和Container
組件接收更新的存儲數據,重新呈現應該發生。
這是奇怪的,componentDidUpdate
,根據文檔,被稱爲組件接收更新道具和重新渲染。
但我的Foo
(愚蠢)組件從來沒有出現,即使一切都成功派遣沒有狀態突變。
可能是什麼原因?謝謝!
你可以分享你的代碼中你實現'mapStateToProps'和連接'組件與redux存儲的部分嗎? – Timo
@Timo更新了問題 – knitevision
也許this.props.data始終是false?你能發佈更完整的代碼嗎? –