将值从灯箱传递给父级

Posted

技术标签:

【中文标题】将值从灯箱传递给父级【英文标题】:Passing value from lightbox to parent 【发布时间】:2018-11-11 09:39:38 【问题描述】:

我正在为我的应用中的用户创建个人资料屏幕。我正在使用 wix 的 React-Native-Navigation 的灯箱来执行编辑配置文件。因此,用户将点击 touchableopacity 并弹出一个灯箱,用户将输入新信息并保存。所以,我想知道是否可以将文本输入值从灯箱传递给父级(profile.js),以便我可以在 profile.js 中设置状态?

【问题讨论】:

【参考方案1】:

是的,这是可能的。您需要将数据作为道具发送给父级。如果你之前没有做过,可能会觉得有点棘手,但你会做到的。

来自父母:

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

这将使来自子级的输入数据发送给父级。每次更改都会触发受影响组件的重新渲染。

如果您的应用抱怨无法正确设置状态,那么您需要在父构造函数中绑定 this,如下所示:

this.handleUserData = this.handleUserData.bind(this);

【讨论】:

您好,感谢您的回复。我正在使用此代码启动灯箱: Navigation.showLightBox( screen: 'TFH.EditBox', passProps: type:"Email", value:this.state.profile.email ,【参考方案2】:

我还要说将父函数指针作为道具传递给子函数(如 React 网站上所见)。尽管有些人选择使用事件发射器。我真的很好奇更多开发人员对此的看法。

是否以 *** 为由破坏了一个线程以进行史诗般的否决投票?

【讨论】:

以上是关于将值从灯箱传递给父级的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在实现委托以将值从子 swift 类传递给父目标 C 类时出错?

如何将值从子窗体传递回父窗体?

将值从 BackgroundWorker DoWork 传递到 BackgroundWorker Completed

将值从 ngOnInit 传递到模板

将值从 php 传递到 modal

如何将值从angularjs传递给节点[重复]