【发布时间】:2020-12-23 10:04:45
【问题描述】:
父组件存储所有状态。
函数myChangeHandler 触发任何onChange 并更改状态
myChangeHandler(事件) { 这个.setState({ [event.target.name]:event.target.value });
并且在更改单选按钮的值时应该在“指南是”行中返回 这是代码,如果我错过了什么,请告诉我
// Get a hook function
const {useState} = React;
class Parent extends React.Component {
constructor(props) {
super(props);
this.state = {
username: '',
avail:'available',
$avail:'non-available',
brandGuideline:'',
};
this.myChangeHandler = this.myChangeHandler.bind(this);
}
myChangeHandler(event) {
this.setState({
[event.target.name]: event.target.value
});
}render(){
return(
<div>
<Child username = {this.state.username}
myChangeHandler = {this.myChangeHandler}
/>
</div>
)
}
}
class Child extends React.Component {
render() {
return (
<div className="label">
<label>
username
</label>
<input
type='text'
name='username'
value={this.props.username}
onChange={this.props.myChangeHandler}
/>
<h1>My username: {this.props.username}</h1>
<div>
<label>
We have a Brand Guide
</label>
<input
type='radio'
name='brandGuideline'
value={this.props.$avail}
onChange={this.props.myChangeHandler}
/>Yes
<input
type='radio'
name='brandGuideline'
value={this.props.avail}
onChange={this.props.myChangeHandler}
/> No
</div>
<h1>Guide is: {this.props.brandGuideline}</h1>
</div>
);
}
};
ReactDOM.render(
<Parent />,
document.getElementById("react")
);
[event.target.name]: event.target.value
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.4/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.4/umd/react-dom.production.min.js"></script>
<div id="react"></div>
【问题讨论】:
标签: javascript reactjs react-props