我使用Stack Navigator从A-B-C&我在componentDidMount()
函数中初始化了我的组件。当我按回C时它会转到B但屏幕上没有任何内容。如何在我的组件中将Redux存储中的先前状态恢复为componentDidMount()
,或者在返回时不调用构造函数。
这是我的主页组件加载列表的方式
componentDidMount() {
this.getHomeItems();
}
getHomeItems = () => {
this.props.getHomeItems();
}
homeItems = () => {
return Object.keys(this.props.homeItems).map( key => this.props.homeItems[key]);
}
并在渲染函数中我渲染一个像这样的列表
<List
dataArray={this.homeItems()}
renderRow={this.renderRow.bind(this)} >
</List>
要在hw press事件中从C回到B,我使用dispatch(NavigationActions.back());
这是我的家庭连接功能
function mapStateToProps(state){
return {
homeItems: state.home,
}
}
function mapDispatchToProps(dispatch) {
return bindActionCreators(HomeActionCreators, dispatch);
}
export default connect(mapStateToProps, mapDispatchToProps)(Home);