我有一个父组件和4个子组件(如PARTCES)。从父母我发送到每个孩子自己的设置部分。用户可以在每个子组件中更改这些设置。现在我的问题是,当用户通过输入更改文本之类的东西时,我必须更改父级中的原始对象。我知道一个解决方案是为设置中的每个字段发送方法,但每个部分都有5个以上的字段,所以我认为这不是一个好的解决方案。
这是我的渲染方法的相关部分:
/**
* Render method for user profile
* @return {*}
*/
render() {
return (
<div className={'card p-3 '}>
<h2 className={'text-center mb-2'}>Všeobecné nastavenia</h2>
<Form>
<Form.Row className={'d-flex '}>
<Col md={4} sm={12} className={'order-2 order-md-1'}>
<Form.Group className={'d-flex align-items-center justify-content-end'}>
<Form.Label className={'mb-0 mr-2 customLabel'}><b>Meno:</b></Form.Label>
<Form.Control size="sm" type="text" placeholder="First name"
defaultValue={this.props.userData.firstName}/>
</Form.Group>
<Form.Group className={'d-flex align-items-center justify-content-end'}>
<Form.Label className={'mb-0 mr-2 customLabel'}><b>Priezvisko:</b></Form.Label>
<Form.Control size="sm" type="text" placeholder="Last Name"
defaultValue={this.props.userData.lastName}/>
</Form.Group>
<Form.Group className={'d-flex align-items-center justify-content-end'}>
<Form.Label className={'mb-0 mr-2 customLabel'}><b>Email:</b></Form.Label>
<Form.Control size="sm" type="text" placeholder="Váš email"
defaultValue={this.props.userData.email}/>
</Form.Group>
...
我必须像前面说的那样改变,等等,在父母中值。firstNamelastName
有没有一个很好的方法来做到这一点?谢谢你的帮助。
我在CodeSandbox中构建了类似的情况:https://codesandbox.io/s/kind-panini-06qci?file=/src/App.js
红糖糍粑
沧海一幻觉
相关分类