我在主页的导航器中创建了一个带有两个按钮的应用程序。我也使用了React Native Side Menu。 (https://github.com/react-native-fellowship/react-native-side-menu)
从NavigatorIOS的左侧按钮,我想触发侧面菜单的toggle()方法。我怎么做到这一点?
<NavigatorIOS
style={styles.navigationContainer}
ref="nav"
initialRoute={{
title: "Home",
component: Home,
ref:'home',
rightButtonTitle: 'Items',
leftButtonTitle: 'Menu',
onLeftButtonPress: () => {
//menuActions.toggle(); HERE IS THE PROBLEM
},
onRightButtonPress: () => {
this.refs.nav.navigator.push({
title: "Items",
component: Items
});
}
}} />
Sidemenu的代码和元素位于Home文件中。如何从此代码中访问它,该代码位于index.ios.js?
中提前致谢。
答案 0 :(得分:1)
我担心这还不足以得出结论。首先,我需要看看你如何编写组件。 menuActions
仅适用于通过上下文的子组件。根据这段代码片段,我无法看到你是如何做到的。
我的建议:
- 检查NavigatorIOS
组件是否是SideMenu组件的子组件
- 如果您不想将NavigatorIOS
用作SideMenu的子项,则可能需要类似全局存储(例如,您可以使用redux)来反映SideMenu的状态。从正确的地方(在SideMenu的任何孩子中)订阅此商店,您就可以从可以访问的地方触发menuActions
。