为了账号安全,请及时绑定邮箱和手机立即绑定

React 输入和状态无法覆盖

React 输入和状态无法覆盖

牧羊人nacy 2022-09-23 16:50:57

开始学习反应。我已经在这个问题上坐了一个小时,我不知道为什么这不起作用。到处寻找,但没有任何结果。我是笨蛋还是什么?


我无法在输入字段中写入,或者当我可以(如果我修复它)时,我的状态不会改变。也许有人知道为什么这是一个问题?


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;


查看完整描述

3 回答

?
MMMHUHU

TA贡献1512条经验 获得超8个赞

查看您的textChangedHandler


textChangedHandler = (event) => {

    this.setState = ({

      text: event.target.value

    });

  } 

在这种情况下,您需要像这样设置状态。


this.setState({

  text: event.target.value

})

this.setState是一种方法。您应该需要重新分配它。


查看完整回答
反对 回复 2022-09-23
?
泛舟湖上清波郎朗

TA贡献1481条经验 获得超3个赞

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>

    );

}

试试这个。


查看完整回答
反对 回复 2022-09-23
?
繁花如伊

TA贡献1690条经验 获得超12个赞

试试这个:


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;

更多信息: https://reactjs.org/docs/handling-events.html


查看完整回答
反对 回复 2022-09-23
  • 3 回答
  • 0 关注
  • 11 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信