这是我的反应原生代码:
<NavigatorIOS
ref='nav'
style={styles.container}
initialRoute={{
title: 'List',
component: TaskList,
rightButtonTitle: 'new',
onRightButtonPress: () => {
this.refs.nav.push({
title: 'Add Task',
component: AddTask
});
}
}} />
如何将一些通知从AddTask组件推送到TaskList组件?
文档说“对于没有父子关系的两个组件之间的通信,您可以设置自己的全局事件系统。”
所以我需要建立一个全球事件系统?
答案 0 :(得分:3)
赞communicate-between-components说:
用于两个没有组件的组件之间的通信 亲子关系,Flux模式是其中一种可能 如何安排这个。
您可以在react-native项目中使用Flux。
以下是Flux + React-Native的演示:
您可以查看github的源代码。
答案 1 :(得分:0)
我使用Navigator,但我认为NavigatorIOS也是如此。
您可以传递道具,例如您的标题,组件:
<NavigatorIOS
ref='nav'
style={styles.container}
initialRoute={{
title: 'List',
component: TaskList,
rightButtonTitle: 'new',
onRightButtonPress: () => {
this.refs.nav.push({
title: 'Add Task',
component: AddTask
myInformation:'information'
});
}
}} />
'信息'可以被全局变量替换。
要将道具从AddTask传递到TackList,它也是一样的。您可以在pop中传递道具或替换或推送