通过单击另一个组件的按钮来反应本地重新组件



我在"第一页"上有一系列干预列表。当我单击一个时,我会导航到它的详细信息"第二页",那里是一个按钮,可以让我开始事件。当我单击该按钮时,它会从路由中填充一个对象:API/Current

{
    "interventionSummary": {some object}
}

当没有干预开始时:

{
  "interventionSummary": null
}

启动干预时,它也应该结束,因此,如果用户不这样消息提醒以结束干预。

问题在于,当我重新加载时,我的对象干预措施不会更新。对于另一页,我可以使用:

this.props.navigation.addListener('focus', doStuff); 

但是使用的按钮和所使用的路线在同一页面中。我尝试过,强制使用,模拟状态变化:this.setState({state:this.state})从Google上的解决方案中使用,但没有任何效果单击"第二页"后重新渲染...

我希望这很清楚,如果有人知道一种做到这一点的方法

在您的第一页中创建您的功能。

myMethod() {
    //function i want to call in second page
   }

在您的第一页中导航到第二页时(在我的情况下,当用户按下按钮时)将函数作为参数传递,如下:

onPress={() => this.props.navigation.navigate('SecondPage', {
        rerenderOutputTitles: () => this.myMethod(),
      })}

然后在第二页中呼叫此方法,如下所示:

this.props.navigation.state.params.rerenderOutputTitles();

相关内容

  • 没有找到相关文章

最新更新