我的网页上有一个组件,其中包含一个表格,其中有两个输入文字:名称和电子邮件:
<form onSubmit={this.handleSubmit} action="register">
<input
type="text"
placeholder="Name"
value={this.state.name}
onChange={this.handlNameChange}
/>
<input
type="text"
placeholder="Email"
value={this.state.email}
onChange={this.handleEmailChange}
/>
<button className="btn btn-success btn-block">Cadastre-se</button>
</form>
我想将这两个输入的数据传递给另一个名为register的页面(是表单的动作),它有自己的组件形式。在寄存器中,我有一个类似的结构形式,但有更多的输入。
路由器看起来像这样:
<Router history={browserHistory}>
<Route path="/" component={MainLayout}>
<IndexRoute component={Home} />
<Route path="about" component={About} />
</Route>
<Route path="/register" component={Register} />
<Route path="*" component={NotFound} />
</Router>
如何在不同页面中将数据从一个表单/组件传递到另一个表单/组件?
如何访问其他页面组件(注册)中的数据?
谢谢。
答案 0 :(得分:0)
有几个选项,使用Session
可能是最简单的。
handleSubmit() {
Session.set("name", this.state.name);
Session.set("email", this.state.email);
}
在您的Register
组件中:
componentDidMount() {
this.setState({
name: Session.get("name"),
email: Session.get("email")
});
}
答案 1 :(得分:0)
我能够使用u2622:persistent-session包将数据从第1页的表单传递到第2页的表单。
表格第1页:
<?xml version="1.0"?>
<Events>
<Event In="00:00:20:16" Out="00:00:22:24" />
<Event In="00:00:23:01" Out="00:00:26:07" />
</Events>
表单第2页:
handleSubmit: function(e){
Session.setPersistent({name: this.state.name, email: this.state.email});
}