我正在使用onLayout来检测屏幕方向,它在我的根视图中工作得很好,但是当我在抽屉中实现它时,它没有工作,为什么会发生这种情况呢?
代码:
import Drawer from 'react-native-drawer'
...
onLayout(e) {
console.log('onLayout');
}
<Drawer onLayout={this.onLayout}当方向改变时,它没有记录任何事情!
发布于 2017-04-25 22:41:00
这是因为抽屉组件没有将onLayout作为道具。您可以在source code中看到呈现的View确实使用了onLayout,但它不是从this.props.onLayout之类的东西中提取出来的。
我不太确定你想要做什么,但也许this issue会帮助你。如图所示,您可以将函数传递给openDrawerOffset,而不是整数或比率,以便更动态地设置偏移量:
openDrawerOffset={(viewport) => {
if (viewport.width < 400) {
return viewport.width * 0.1;
}
return viewport.width - 400;
}}您还可能受益于react-native-drawer必须提供的Event handlers。
https://stackoverflow.com/questions/43606335
复制相似问题