问题:使用mobx中的装饰器(@observable)报错
解决方案:
1.安装babel-plugin-transform-decorators-legacy
yarn add babel-plugin-transform-decorators-legacy
或
npm install babel-plugin-transform-decorators-legacy
2.修改配置文件,在package.json babel中加入以下代码
"plugins": [
["@babel/plugin-proposal-decorators", { "legacy": true }]
],
这时你的package.json里可能没有这段代码
"babel": {
"presets": [
"react-app"
]
},
那么你需要 执行yarn eject 或者 npm run eject,把潜藏在 react- scripts 中的一系列技术栈配置都展示在package.json中。
当你执行完yarn eject会发现控制台报错了,解决方法就是把本地的修改提交了,执行
git init
git add .
git commit -m ''
然后再执行yarn eject,package.json中就会有了label的代码。
--------------------------------------分割线-------------------------------------
新建一个react项目使用mobx
1.新建一个react项目
npx create-react-app mobx-demo
cd mobx-demo
2.安装安装mobx 和mobx-react
yarn add mobx mobx-react
或
npm install mobx mobx-react --save
3.安装babel-plugin-transform-decorators-legacy
yarn add babel-plugin-transform-decorators-legacy
或
npm i babel-plugin-transform-decorators-legacy
4.修改package.json中的babel
"babel": {
"plugins": [
["@babel/plugin-proposal-decorators", { "legacy": true }]
],
"presets": [
"react-app"
]
}
5.yarn和npm区别