估计你们也知道是啥了,就一个状态管理,然后这东西没out,挺多人/项目都用,也就有学的必要了。
效果就是给目标组件实现一个双向绑定的效果:仓库数据变了,用到改数据的组件会自动重新渲染
mobx和mobx-react是搭配使用的。
mobx-react包含了lite,后者只能用于函数组件,也就是轻量版(从名字也能看出),二选一即可。
git仓库代码
代码简单不花点点心思下载代码看是没用的。截图形式略捞
先从app.js去看。会有三个子组件(button1/2/3),其中一个是class组件,其余是function组件。
页面目的:
点击button1或button2会修改button3的内容。
发现规律
从规律得出结论
也就是说这个和vue订阅通知一样,能够准确通知到哪个组件的值修改了,我才更新那个组件。【mobx源码就不看了,vue的才值得看】总之就是性能OK,所以才敢在app.js就统一包裹一层踩坑点:
npm install --save-dev @babel/plugin-proposal-decorators
然后看package.json下面的babel配置,也可以写webpack中。【代码不贴这里了,有心学就去仓库】
//mobox版本大于6就要这个
constructor() {
makeObservable(this);
}