Mobx

Mobx与Redux的区别:

redux通过dispatch(action)修改state,store.subsribe(render)重新渲染组件

Mobx可以直接修改state,当state用@observable装饰器修饰后,每次修改,都会执行autorun(),

autorun(() => {
  ReactDOM.render(<App store={store}/>, document.getElementById('root'));
});

每次直接修改state后,ReactDOM.render()函数都会执行,重新渲染。

其余Mobx和Redux基本相同,

关于和React的连接

redux使用react-redux:Provider 提供store , connect负责将store的state和dispatch映射到组件的props属性上

Mobx使用mobx-react:Provider提供store,@inject 装饰器相当于@connect,

@observer装饰器作用是将组件的render函数包装到autorun()中,使组件变成响应式,每次修改state,重新渲染组件。

猜你喜欢

转载自blog.csdn.net/Night_Emperor/article/details/81985679