我正在制作一个聊天应用程序。当我单击通知时,我的应用程序会打开聊天屏幕。但是,当我单击聊天屏幕上的通知时,页面不会刷新并呈现新数据。因此,我想重新渲染屏幕或使用新的参数再次重新打开同一页面。
点击通知时,我正在使用以下代码:
this.props.navigation.navigate("Chat",goScreenParameters);
我不想使用此代码:
const resetAction = StackActions.reset({
index: 1,
actions: [
NavigationActions.navigate({ routeName: 'Main' }),
NavigationActions.navigate({
routeName: goScreenName,
params:goScreenParameters
}),
],
});
this.props.navigation.dispatch(resetAction);
答案 0 :(得分:0)
我认为您不是在听屏幕上的道具更改,如果您在构造函数中使用参数而不使用getDerivedStateFromProps
或即将弃用的componentWillRecieveProps
,则可能会发生这种情况。
另一种选择是使用this.props.navigation.push
而不是navigate
,但这将创建另一个屏幕,而不是“刷新”当前屏幕。