如何在本机反应中从屏幕B调用或传递方法到屏幕A?

时间:2020-09-30 15:36:24

标签: arrays reactjs react-native

我有两个屏幕,屏幕A和屏幕B。其中屏幕B的状态需要传递给屏幕A,并且我已经通过通过导航发送参数来使用反应导航来实现。问题是,当我在屏幕B中单击一个按钮时,我需要调用一个方法是屏幕A(单击该按钮时它会导航到屏幕A),并且随着导航结束,我需要调用一个方法来执行setState。

如何实现?

我的方法:

 handler(){
        this.setState({ visible: !this.state.visible })
    }

因此,当用户在屏幕B中单击按钮(“应用”)时,该按钮将调用导航。那么,当用户单击屏幕B上的按钮时,如何调用handler()?

1 个答案:

答案 0 :(得分:0)

我相信使用导航参数的最佳方法是在检测到从screenB发送的参数存在的情况下,将条件放在screenA的componentDidMount中,并调用handler()。这样的事情(不确定确切的写法):

screenB

83.33px

screenA

this.props.navigation.navigate('screenA', { paramFromB: 'param passed from Screen B'}

因此,每次您进入屏幕A时,都会检查屏幕B的参数是否存在,然后致电您的处理程序