react-native-router-flux:Actions.KEY 在传递给 onPress 的函数内部不起作用
react-native-router-flux: Actions.KEY doesn't work inside function that is passed to onPress
我有以下代码:
_renderMenuItem(name) {
return (
<TouchableHighlight onPress={() => this._onItemClicked(name) }>
<Text>{name}</Text>
</TouchableHighlight>
)
}
_onItemClicked(name) {
Actions.categoryScreen()
this.props.dispatch(updateActivePage(name))
// Close the NavigationDrawer
Actions.refresh({ key: 'drawer', open: false })
}
Actions.refresh()
工作正常,但 Actions.categoryScreen()
没有 - 看起来好像什么都没有发生。如果我用 onPress={Actions.categoryScreen}
替换传递给 onPress
的参数,那么它可以正常工作并显示 categoryScreen。但是,这对我没有帮助,因为当触发 onPress 时我想做更多的事情,我还需要传递 'name' 参数。
有什么想法吗?
提前致谢。
由于 this 在 react-native-router-flux 的存储库上报告了问题,我找到了解决方案。似乎有一个错误,当两个动作相继触发时,只有第二个动作有效。因此,人们发布并为我工作的解决方法是触发第二个超时操作。即使超时为 0,它也能正常工作。这是我的 _onItemClicked
现在的样子:
_onItemClicked(name) {
Actions.categoryScreen()
this.props.dispatch(updateActivePage(name))
// Close the NavigationDrawer.
setTimeout(() => Actions.refresh({ key: 'drawer', open: false }), 0)
}
我有以下代码:
_renderMenuItem(name) {
return (
<TouchableHighlight onPress={() => this._onItemClicked(name) }>
<Text>{name}</Text>
</TouchableHighlight>
)
}
_onItemClicked(name) {
Actions.categoryScreen()
this.props.dispatch(updateActivePage(name))
// Close the NavigationDrawer
Actions.refresh({ key: 'drawer', open: false })
}
Actions.refresh()
工作正常,但 Actions.categoryScreen()
没有 - 看起来好像什么都没有发生。如果我用 onPress={Actions.categoryScreen}
替换传递给 onPress
的参数,那么它可以正常工作并显示 categoryScreen。但是,这对我没有帮助,因为当触发 onPress 时我想做更多的事情,我还需要传递 'name' 参数。
有什么想法吗?
提前致谢。
由于 this 在 react-native-router-flux 的存储库上报告了问题,我找到了解决方案。似乎有一个错误,当两个动作相继触发时,只有第二个动作有效。因此,人们发布并为我工作的解决方法是触发第二个超时操作。即使超时为 0,它也能正常工作。这是我的 _onItemClicked
现在的样子:
_onItemClicked(name) {
Actions.categoryScreen()
this.props.dispatch(updateActivePage(name))
// Close the NavigationDrawer.
setTimeout(() => Actions.refresh({ key: 'drawer', open: false }), 0)
}