看错了,你这直接调用应该是有的,如果赋值在调用就没有this,需要用实例store
重新再mobx再install一下就好了
存储器类型,到6:25秒开始再听一下
是需要有typescript的安装环境,你安装了吗
https://www.npmjs.com/package/@babel/plugin-proposal-class-properties
constuctor 可以接受new时候的参数,如果你写一个方法,new完之后还要调用下这个方法。。
没有被观察起来啊
Symbol是es7新增的类型,请看阮一峰的es教程
老师的babel版本比较老,现在babel精简很多了。关于这门课的webpack babel配置,你可以参考我的仓库https://github.com/CregskiN/mobx-demo
mobx Store实例化并导出,在page导入store,getInitialProps使用store@action修饰的方法,可以认为是你这里说的发起action吗?
"@babel/core": "^7.11.4", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.11.0", "babel-loader": "^8.1.0", "webpack": "^4.44.1", "webpack-cli": "^3.3.12"
看图片
https://github.com/carrieguo/react-toDoList react最新版本创建的todolist 和 vue-router,另外自己加了删除列表的功能,供你参考
@observable const cityName = ''
this.cityName = "Vienna"
console.log(this.cityName)
mobx 4.x 版本和 5.x 版本区别较大。老师讲的是 4.x,你应该是安装了 5.x,由于5.x使用了 Proxy 对象来实现 observable ,所以会有差异
返回值是this.disposers,遍历之后再把它置为空
npm i babel-loader@7.1.4
decorator就是一种特殊的函数,只不过对于修饰类和类成员具有不同的参数签名
mobx 5.x 和老师的4.x差距较大,简单来说就是5.x mobx使用的proxy实现的,其中 array 这里变为可观察数据后仍然是array
https://github.com/freya0608/mobx-react
babel-loader版本太高了,装8以下的,否则和其它babel开头的插件不兼容
是"副作用",还是"父作用"?
正常, 相当于你已经在更细粒度的组件内进行重复渲染了,对其他不需要渲染的部分影响更小了