javascript - React Native Router Flux - 如何调用场景的方法

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

我想在按下导航栏的右键时调用场景组件内的函数。

在父级中:

<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});
}

最佳答案

您可以使用 Actions.refresh 刷新 Activity 场景的 Prop 。当我被这个路由器包困住时,我用它作为逃生口。

请注意何时以及为何使用 componentWillReceiveProps,这样您就不会无意中调用toggleModal。

关于javascript - React Native Router Flux - 如何调用场景的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41147626/

相关文章:

javascript - MS Edge 无法检测 <use> SVG 元素的委托(delegate)事件?

javascript - 文件上传 插入 url 图片

android - 在 ActionBar 中获取 Switch 实例

android - setSystemUiVisibility(SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) 不起作用

react-native - 如何在react-native中渲染星级组件?

javascript - 在 Chrome 中获取大型 AJAX 响应而不会崩溃

javascript - 将最新版本的 TypeScript 定义与旧的 JavaScript 库一起使用

Android - 在屏幕上添加 View ,但在内容 View 之外

react-native - 如何修复 'undefined is not an object (evaluating ' NativeModules ["SQLite"][方法 ]')'

javascript - undefined 不是一个 react 原生对象