鍍金池/ 問答/HTML/ [reactjs][如圖]修改state不立即生效

[reactjs][如圖]修改state不立即生效

想要的效果是添加之后清空 state.text(也就是 input 里面的內(nèi)容要清空),但是沒有清空

class App extends Component {
  constructor(props) {
    super(props);
    this.state = {
      list: this.props.list || [],
      text: ''
    }
  }
  renderReminder() {
    return <ul className="list-group col-sm-8 mt-2">
      <li className="list-group-item">
        <div>text</div>
        <div><em>time</em></div>
      </li>
    </ul>
  }
  render() {
    return (
      <div className="App">
        <div className="className">Reminder Pro</div>
        <div className="form-inline">
          <div className="form-group mr-2">
            <input
              type="text"
              className="form-control"
              placeholder="請輸入..."
              onChange={(event) => this.setState({ text: event.target.value })}
            />
          </div>
          <button
            type="button"
            className="btn btn-success"
            onClick={() => {
              if (!this.state.text) return;
              this.props.addReminder(this.state.text);
              this.setState({
                text: ""
              });
            }}
          >添加記錄</button>
        </div>
        <ul className="list-group col-sm-8 mt-2">
          {
            this.props.list.map((item) => <li className="list-group-item" key={item.id}>
              <div>{item.text}</div>
              <div><em>{item.create_time}</em></div>
            </li>)
          }
        </ul>
      </div>
    );
  }
}

圖片描述

回答
編輯回答
我不懂

建議樓主先去了解一下受控組件和非受控組件。

如果想達到預(yù)期效果,需要讓組件受控,做法是給input添加value。

<input
  type="text"
  className="form-control"
  placeholder="請輸入..."
  value={this.state.text}
  onChange={(event) => this.setState({ text: event.target.value })}
/>
2018年2月18日 01:53
編輯回答
別硬撐

input綁定value

             <input
              type="text"
              value={this.state.text}
              className="form-control"
              placeholder="請輸入..."
              onChange={(event) => this.setState({ text: event.target.value })}
            />
2017年7月21日 23:55