微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ReactJS将输入数据传递到下一个屏幕/组件

如何解决ReactJS将输入数据传递到下一个屏幕/组件

我已经在整个google上查找了我的答案(哈哈)。 我想要达到的目标:

我的拳头屏幕是带有一些输入字段的表单,用于存储状态的输入。 通过单击“提交”,用户进入下一个页面/屏幕,应该显示先前的输入。我只想将输入数据显示为p标签,而不再显示为输入标签

我该如何实现?我是ReactJS的新手。

我考虑过多种解决方案:

  1. 将输入数据存储到外部JSON(看起来很复杂)
  2. 将数据作为道具传递,但我不知道该怎么做

到目前为止谢谢!

解决方法

我将假设您的第二个屏幕与第一个屏幕具有相同的父组件,如下所示:

render() {
    return (
        <div>
            {this.state.showFirstScreen && <FirstScreen />}
            {this.state.showSecondcreen && <Secondcreen />}
        </div>
    )
}

在这种情况下,您的FirstScreen组件可以接受名为onSubmit之类的prop -您说您已经存储了FirstScreen的输入值,因此当{ {1}}完成后,您可以调用FirstScreen,只要您在父组件中定义了一个回调函数,它将把状态发送到您的父组件:

this.props.onSubmit(this.state)

然后,您可以将第一个屏幕的状态保存到父组件的状态中,并将该状态的该部分向下传递到{this.state.showFirstScreen && <FirstScreen onSubmit={this.onFirstScreenSubmit} />}

[edit]这是一个非常粗糙的示例:https://jsfiddle.net/df4s9ey8/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。