javascript - Mobx 使用回调处理设置状态的方法是什么

标签 javascript reactjs mobx

我正在尝试将使用设置状态的现有应用程序转换为使用 Mobx。我如何使用 mobx 实现设置状态回调功能。我需要使用 componentDidUpdate 来实现此功能吗?

最佳答案

您是对的,当使用 MobX 重新渲染组件时,您需要使用 componentDidUpdate 来执行自定义逻辑。可观察值将同步更新,但组件将像往常一样异步重新渲染。

示例 ( JSBin )

@observer 
class App extends Component {
  @observable value = ''

  componentDidMount() {
    setTimeout(() => this.value = 'focus', 1000);
  }

  componentDidUpdate() {
    this.ref.focus();
  }

  render() {
    return (
      <input
        ref={ref => this.ref = ref}
        value={this.value}
        onChange={e => this.value = e.target.value}
      />
    );
  }
};

关于javascript - Mobx 使用回调处理设置状态的方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40751933/

相关文章:

javascript - Meteor 方法在 mozilla 中无法正常工作

javascript - 使用 knex.js 在 psql 中的 CREATE FUNCTION 语句中出现语法错误

reactjs - React hooks,从 prop 声明多个状态值

javascript - JSX 不渲染空白

mobx - 如何安装 mobx 3

reactjs - 如何对 MobX 中每个可能的变化运行 react 回调?

Javascript按钮单击触发按键并将文本添加到输入文本中

javascript - 单击时淡出,除非单击输入元素

javascript - 如何在 enzyme 测试中访问由 dangerouslySetInnerHTML 创建的实际呈现的 HTML

generator - MobX 状态树生成器不允许修改成功 promise 中的状态?