我正在为我的应用中的用户创建 Profiles 屏幕 . 我正在使用来自Wact的React-Native-Navigation的灯箱来执行编辑配置文件 . 因此,用户将点击touchableopacity并弹出一个灯箱,用户将输入新信息并保存 . 所以,我想知道是否有可能我想将textinput值从灯箱传递给父(profile.js),以便我可以在profile.js中设置状态?
是的,这是可能的 . 您需要将数据作为道具发送给父级 . 如果你还没有做过它可能会觉得有点棘手,但你会到达那里 .
来自父母:
<LightboxComponent userData={this.handleUserData(data)} /> handleUserData(data) { /* Do something with the data here */ }
来自孩子:
要发送数据,您需要在要捕获的输入上设置onChange事件或类似事件,如下所示:
<input name="user-name" onChange={ (e) => this.props.userData(e.target.value) }
这将使来自子节点的输入数据被发送到父节点 . 每次更改都会触发重新呈现受影响的组件 .
如果你的应用抱怨无法正确设置state,那么你需要在parent构造函数中绑定它,如下所示:
this.handleUserData = this.handleUserData.bind(this);
我还会说将父项的函数指针传递给子项作为道具(如React站点所示) . 虽然有些人选择使用事件 Launcher . 我真的很好奇开发人员对此的看法 .
是否会使StackOverflow上的线程脱轨以进行史诗般的投票?
2 回答
是的,这是可能的 . 您需要将数据作为道具发送给父级 . 如果你还没有做过它可能会觉得有点棘手,但你会到达那里 .
来自父母:
来自孩子:
要发送数据,您需要在要捕获的输入上设置onChange事件或类似事件,如下所示:
这将使来自子节点的输入数据被发送到父节点 . 每次更改都会触发重新呈现受影响的组件 .
如果你的应用抱怨无法正确设置state,那么你需要在parent构造函数中绑定它,如下所示:
我还会说将父项的函数指针传递给子项作为道具(如React站点所示) . 虽然有些人选择使用事件 Launcher . 我真的很好奇开发人员对此的看法 .
是否会使StackOverflow上的线程脱轨以进行史诗般的投票?