如何解决ReactJS将输入数据传递到下一个屏幕/组件
我已经在整个google上查找了我的答案(哈哈)。 我想要达到的目标:
我的拳头屏幕是带有一些输入字段的表单,用于存储状态的输入。 通过单击“提交”,用户进入下一个页面/屏幕,应该显示先前的输入。我只想将输入数据显示为p标签,而不再显示为输入标签。
我该如何实现?我是ReactJS的新手。
我考虑过多种解决方案:
- 将输入数据存储到外部JSON(看起来很复杂)
- 将数据作为道具传递,但我不知道该怎么做
到目前为止谢谢!
解决方法
我将假设您的第二个屏幕与第一个屏幕具有相同的父组件,如下所示:
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 举报,一经查实,本站将立刻删除。