开始学习反应。我已经在这个问题上坐了一个小时,而且我不知道为什么这不起作用。环顾四周,但没有任何结果。我是哑巴还是什么?
我无法在输入字段中书写,或者当我可以写(如果我解决了)时,我的状态不会改变。也许有人知道为什么这是个问题?
import './App.css';
class App extends Component {
constructor(props) {
super(props);
this.state = {
text: "test"
}
}
textChangedHandler = (event) => {
this.setState = ({
text: event.target.value
});
}
render() {
return (
<div className="App">
<p>{this.state.text}</p>
<input
type="text"
onChange={this.textChangedHandler}
value={this.state.text}>
</input>
</div>
);
}
}
export default App;
答案 0 :(得分:1)
textChangedHandler = (event) => {
this.setState({
text: event.target.value
});
}
render() {
return (
<div className="App">
<p>{this.state.text}</p>
<input
type="text"
onChange={this.textChangedHandler}
value={this.state.text}>
</input>
</div>
);
}
尝试一下。
答案 1 :(得分:1)
查看您的textChangedHandler
textChangedHandler = (event) => {
this.setState = ({
text: event.target.value
});
}
在此, 您需要像这样设置状态。
this.setState({
text: event.target.value
})
this.setState
是一种方法。您应该重新分配它。
答案 2 :(得分:-1)
尝试这个:
import './App.css';
class App extends Component {
constructor(props) {
super(props);
this.state = {
text: "test"
}
// This binding is necessary to make `this` work in the callback
this.textChangedHandler = this.textChangedHandler.bind(this)
}
textChangedHandler = (event) => {
this.setState({
text: event.target.value
});
}
render() {
return (
<div className="App">
<p>{this.state.text}</p>
<input
type="text"
onChange={this.textChangedHandler}
value={this.state.text}>
</input>
</div>
);
}
}
export default App;