我在保存新listItem的数据后尝试重新渲染StackNavigator的第一个屏幕。成功保存后,我致电this.props.navigation.dispatch(NavigationActions.back())
我想用this._updateData
函数重新渲染页面。我尝试了这里提到的解决方案:beausmith https://github.com/react-navigation/react-navigation/issues/922,其中this._updateData
函数传递给this.props.navigation.navigate,如下所示:
this.props.navigation.navigate('ScreenB', {
onNavigateBack: this._updateData
})
然后在ScreenB上你会这样做:
this.props.navigation.state.params.onNavigateBack()
和
this.props.navigation.dispatch(NavigationActions.back())
使用StackNavigator,您不需要调用this.props.navigation.navigate,因为它已经内置在标头中。我尝试在screenA的ComponentDidMount挂钩中将this._updateData
添加到this.props.navigation.state.params
,然后像我在ScreenB上面那样调用它,但似乎没有做任何事情(没有错误消息,但没有刷新) 。我知道哪里出错了?