ReactJS 组件设置状态没有做任何事情?

Posted

技术标签:

【中文标题】ReactJS 组件设置状态没有做任何事情?【英文标题】:ReactJS component set state not doing anything? 【发布时间】:2017-06-13 09:45:51 【问题描述】:

我是 ReactJS 的新手。我正在尝试做如下搜索栏:

class SearchBar extends Component 
  constructor(props) 
    super(props);

  this.state = term: '';
  

  render() 
    return (
      <div>
        <input onChange= event => this.setState( term: event.target.value ) />
      </div>
    );
  

它可以工作,但问题是我无法获得输入的更改值。它出什么问题了?我找不到解决方案。感谢您的帮助。

【问题讨论】:

你从来没有在render()中实际使用过state.term 谢谢我明白为什么它会出错 【参考方案1】:

您没有设置输入的值。您需要将输入更改为受控组件,该组件的值由状态设置,因此它的值仅在状态更改时更改。

<input
      value =  this.state.term 
      onChange=  (event) => this.setState( term: event.target.value )  />

因此,this.state 导致组件渲染,当它重新渲染时,元素的值(输入示例)被设置为 this.state.term 的新值。

【讨论】:

【参考方案2】:

您没有为输入分配值。

<input value=this.state.term onChange= event => this.setState( term: event.target.value ) />

【讨论】:

以上是关于ReactJS 组件设置状态没有做任何事情?的主要内容,如果未能解决你的问题,请参考以下文章

InnerBlocks renderAppender 没有做任何事情

为啥json没有做任何事情?

密码系统不做任何事情

为啥 .catch() 没有做任何事情?

为啥我的模拟鼠标点击没有做任何事情?

React Native WebView onMessage 没有做任何事情