受控文本输入的生命周期

时间:2018-01-13 23:20:31

标签: forms reactjs mobx mobx-react

我想知道是否仅在HOClass操作中的反应组件之外的存储中的可观察变化上触发了mobx循环 因为mobx商店有一个顶级提供商,它正在触发反应组件的重新渲染。

  ReactDOM.render(<Provider { ...stores } >
              <Routes />
              </Provider>, 

但是,这是否意味着我无法直接添加可观察量来反应组件? 如果是这样有点不幸。

@observer
export default class Profile extends React.Component {
  @observable name;
  componentWillMount() {
    this.name = this.props.name;
  }
  txtChange = (e) => {
    this.name = e.target.value;
  }
  render() {
    return (
      <div>
      <input type="text" onChange={this.txtChange} value={this.name}/>
      </div>
    )
  }

由于某些原因我的应用程序无法更新可观察的名称。在一些使用mobx的应用程序,但我可以。如果observable附加到React.Component本身,为什么我无法更改this的值并触发react状态更新?

这里我以受控制的可观察方式更新表单,但是当我在当前项目下提供我的路由器时,没有触发反应重新呈现。

https://codepen.io/cheapsteak/pen/wzdvzQ

帮助任何人?

1 个答案:

答案 0 :(得分:0)

有一个拼写错误:该函数被称为txtChange,但该组件引用了this.txthange。无论哪种方式,这是一个固定的工作示例:https://codepen.io/justnobody/pen/RxJmmY?editors=1010