Javascript 如何使用React将列表中的数据发送到表单中?
我有一个元素列表和一个用于创建/更改元素的表单。我用react表示如下Javascript 如何使用React将列表中的数据发送到表单中?,javascript,reactjs,Javascript,Reactjs,我有一个元素列表和一个用于创建/更改元素的表单。我用react表示如下 ... render() { return ( <div> <List/> <Form/> </div> ) } ... 每个列表元素都有一个更改按钮。单击它,获取元素字段值。如何用元素值填充表单字段而无需重复?这不是您所要求的。我只是在纠正你的错误 render() {//wro
...
render() {
return (
<div>
<List/>
<Form/>
</div>
)
}
...
每个列表元素都有一个更改按钮。单击它,获取元素字段值。如何用元素值填充表单字段而无需重复?这不是您所要求的。我只是在纠正你的错误
render() {//wrong
return (
<List/>
<Form/>
)
}
不能返回多个组件。您需要将所有组件包装在一个元素中。
例:
编辑:要用元素数据填充表单字段,需要将组件数据作为道具传递
<Form data={this.state.data}/>
您需要管理父组件中的状态: 1更改单击列表元素时的状态 2通过添加属性将状态元素传输到表单组件
...
constructor(props) {
super(props);
this.state = {}
this.fillForm = this.fillForm.bind(this);
}
fillForm(element) {
this.setState({
element: element
});
}
render() {
return (
<div>
<List onElementClick={this.fillForm} />
<Form element={this.state.element}/>
</div>
)
}
...
在列表组件中,单击元素时,必须调用此函数this.props.OneLementClickElement ClickElement clicked
在表单组件中,您可以使用此属性获取元素字段this.props.element这真的有效吗。?返回语句错误。@谢谢,请更新代码部分。你能帮我解答这个问题吗?发布你的完整代码。好吧,我也这么认为:但这看起来像是Redux方法。据我所知,没有其他方法:-使用父组件的状态-使用Redux-?这不是Redux,Redux提供一个带还原器的单一存储,在这个解决方案中,只有一个由properties@Evgeniy我不知道比亲子关系更好的方法
...
constructor(props) {
super(props);
this.state = {}
this.fillForm = this.fillForm.bind(this);
}
fillForm(element) {
this.setState({
element: element
});
}
render() {
return (
<div>
<List onElementClick={this.fillForm} />
<Form element={this.state.element}/>
</div>
)
}
...