首页 文章

将值从灯箱传递到父级

提问于
浏览
3

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

2 回答

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

    这将使来自子节点的输入数据被发送到父节点 . 每次更改都会触发重新呈现受影响的组件 .

    如果你的应用抱怨无法正确设置state,那么你需要在parent构造函数中绑定它,如下所示:

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

    我还会说将父项的函数指针传递给子项作为道具(如React站点所示) . 虽然有些人选择使用事件 Launcher . 我真的很好奇开发人员对此的看法 .

    是否会使StackOverflow上的线程脱轨以进行史诗般的投票?

相关问题