我正在使用react-native-drawer-menu创建滑块菜单。单击按钮时,我无法手动打开菜单。在文档中,他们说这可以通过使用ref来调用方法openDrawer
来实现。
这是我的代码
import Drawer from 'react-native-drawer-menu'
myFunction(){
Drawer.openDrawer();
}
我收到此错误
reactNativeDrawerMenu2.default.openDrawer不是一个函数。 (在 '_reactNativeDrawerMenu2.default.openDrawer()', '_reactNativeDrawerMenu2.default.openDrawer'未定义)2017-10-17 13:16:24.299 [致命] [tid:com.facebook.react.ExceptionsManagerQueue] 未处理的JS异常:_reactNativeDrawerMenu2.default.openDrawer是 不是一个功能。 (在'_reactNativeDrawerMenu2.default.openDrawer()'中, '_reactNativeDrawerMenu2.default.openDrawer'未定义)
答案 0 :(得分:2)
您需要将ref(“reference”)存储到抽屉中。我认为应该是
import Drawer from 'react-native-drawer-menu'
class Foo extends React.Component {
render () {
return (
<Drawer ref={drawer => this.drawer = drawer}>
<View>
<Button onPress={() => this.drawer.open()}
</View>
</Drawer>
}
}
答案 1 :(得分:0)
正如@lipp所说,除了这是模块的API:
所以它变成了:
<Drawer ref={(node) => {this.drawer = node;}} />
然后您可以使用他们的API,如:
this.drawer.open()