我有一个包含 10 多个输入字段的表单,用于更新类的状态。为了让事情看起来更干净,我将所有带有标签的输入字段移动到一个单独的组件中,以便我可以为每个输入重新使用它。该组件采用 2 个参数,作为我主类中的子组件。
子组件:
const Input = ({ name, placeholder }) => {
return (
<div className="wrapper">
<Row className="at_centre">
<Col sm="2" style={{ marginTop: "0.5%" }}><Form.Label>{ name }</Form.Label></Col>
<Col sm="5"><Form.Control placeholder={ placeholder }/></Col>
</Row>
</div>
)
}
家长:
state = { name: '', description: '' }
handleSubmit = (e) => {
e.preventDefault()
console.log(this.state);
}
render(){
return(
<Form style={{ marginBottom: "5%", padding: 10 }} onSubmit={ this.handleSubmit } >
<Input name="Name: " placeholder="How is it called?" onChange={ (event) => this.setState({name: event.target.value}) }/>
<Input name="Description: " placeholder="Please describe how does it look like?" onChange={ (event) => this.setState({description: event.target.value}) }/>
<Button variant="outline-success" size="lg" type="submit" >SUBMIT</Button>
</Form>
)
}
在我这样做之后,我找不到如何在更改文本时从我的子组件更新状态的方法。我这样做的所有尝试要么使网站崩溃,要么什么也没做。我还是 React.js 的新手,所以任何反馈都值得赞赏。
一只名叫tom的猫
拉莫斯之舞
相关分类