我有两个屏幕,屏幕A和屏幕B。其中屏幕B的状态需要传递给屏幕A,并且我已经通过通过导航发送参数来使用反应导航来实现。问题是,当我在屏幕B中单击一个按钮时,我需要调用一个方法是屏幕A(单击该按钮时它会导航到屏幕A),并且随着导航结束,我需要调用一个方法来执行setState。
如何实现?
我的方法:
handler(){
this.setState({ visible: !this.state.visible })
}
因此,当用户在屏幕B中单击按钮(“应用”)时,该按钮将调用导航。那么,当用户单击屏幕B上的按钮时,如何调用handler()?
答案 0 :(得分:0)
我相信使用导航参数的最佳方法是在检测到从screenB发送的参数存在的情况下,将条件放在screenA的componentDidMount中,并调用handler()。这样的事情(不确定确切的写法):
screenB
83.33px
screenA
this.props.navigation.navigate('screenA', { paramFromB: 'param passed from Screen B'}
因此,每次您进入屏幕A时,都会检查屏幕B的参数是否存在,然后致电您的处理程序