我想添加电影并将其推入Movie类内的数组中。当我运行它时,我得到这样的警告:
index.js:2178警告:组件正在更改要控制的文本类型的非受控输入。输入元素不应该从非受控切换到受控(反之亦然)。决定在组件的生命周期中使用受控还是非受控的输入元素。更多信息:输入中的https://reactjs.org/docs/forms.html#controlled-components (在index.js:41)
在标签中(在index.js:39)
在表格中(在index.js:38)
在电影中(在index.js:50)
class Movie extends React.Component {
constructor(props) {
super(props);
this.state = {value: ''};
this.state = {list: []};//this line shows a waring
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
this.addMovie = this.addMovie.bind(this);
}
handleChange(event) {
this.setState({value: event.target.value});
}
handleSubmit(event) {
alert('A movie was submitted: ' + this.state.value);
event.preventDefault();
this.addMovie();
}
addMovie(value){
this.setState({ list: [...this.state.list, value] });
}
render() {
return (
<form onSubmit={this.handleSubmit}>
<label>
Movie name:
<input type="text" value={this.state.value} onChange={this.handleChange} />
</label>
<input type="submit" value="Submit" />
</form>
);
}
}
ReactDOM.render(
<Movie />,
document.getElementById('root')
);https://stackoverflow.com/questions/50558137
复制相似问题