React Native Router Flux - 如何调用Scene的方法

时间:2016-12-14 16:34:27

标签: javascript android react-native react-native-router-flux

当我按下导航栏的右键时,我想在Scene的组件中调用一个函数。

在父母:

<Router
        style={routerStyle.router}
        navigationBarStyle={navBarStyle.navBar}
        titleStyle={navBarStyle.navTitle}
        leftButtonStyle={navBarStyle.leftButtonStyle}
        drawerImage={hamburgerIcon}>
    <Scene
        key='History'
        component={History}
        title='History'
        type='reset'
        rightButtonImage={mailIcon}
        onRight={this.sendMail} <-- ON THIS
        rightButtonStyle={navBarStyle.rightButtonStyle}
        rightButtonIconStyle={navBarStyle.rightButtonIconStyle} />
</Router>

在孩子(History.js)中:

openModal() {
  this.setState({modalVisible: true}); <-- DO THIS
}
closeModal() {
  this.setState({modalVisible: false});
}

1 个答案:

答案 0 :(得分:2)

您可以使用Actions.refresh刷新活动场景的道具。当我使用这个路由器包时,我已将它用作逃生舱。

请注意componentWillReceiveProps的时间和原因,以便您无意中无意中调用toggleModal。