【发布时间】:2018-11-19 06:09:18
【问题描述】:
我的应用场景使用了一个容器组件,它调用了一个展示组件。
我可以像这样在容器组件中创建右上角的按钮:
static right = () => {
return (
<TouchableOpacity onPress={() => buttonPressed()}>
<Text style={styles.rightButtonText}>Done</Text>
</TouchableOpacity>
);
};
现在我正在尝试让展示组件识别右上角的单击按钮(以便它可以保存数据)。
我可以通过将函数作为 prop 从容器组件发送到展示组件来在两者之间进行通信。当从展示组件调用它时,它会在容器组件中调用。
但我发现无法让容器组件中的static right 函数听到在演示组件中的点击(然后采取适当的操作)。
我尝试了 these two solutions 和其他几个(包括 Action.refresh),但没有任何效果。我想过使用状态,但如果我使用静态函数,我无法访问state 或this.。但是删除static 会使按钮完全消失。
提前感谢您的帮助。
【问题讨论】:
标签: react-native react-native-router-flux