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