使用 mobx 遇到的一些问题

使用 vscode 开发 mobx 搭配的 react 项目,es7 的 Decorators 预定义语法报错

使用 mobx 时,通过修饰符 observer 将组建变成响应式组建时,或定义需要关注的对象的其他情况时,会有报错的情况

@observer
class App extends Component { ... }
[js] Experimental support for decorators is a feature that is subject to change in a future release

vscode 会有波纹下划线的报错提醒,但是 webpack 能编译通过

这时候,可以在项目根目录创建 jsconfig.json,内容为

{
    "compilerOptions": {
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true
    }
}

ok,报错消除

使用 create-react-app 开发 mobx 项目时,编译的报错

由于预置的脚手架环境不支持 decorators 装饰模式,需要手动配置 babel plugin

先执行 create-react-appeject 指令来解除 cli 环境

$ npm run eject

安装装饰器支持

$ npm i --save-dev babel-plugin-transform-decorators-legacy

然后修改根目录下的 package.json (create-react-app 版本 1.3.3)

找到 babel 的配置对象增加插件

"babel": {
  "presets": [
    "react-app"
  ],
  "plugins": [
    "transform-decorators-legacy"
  ]
}

然后 $ npm run start 测试下就好

也有其他情况,譬如有自建的 .babelrc 或者不使用修饰符的情况

参照 如何(不)使用装饰器

补充:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 由于鄙人最近在做项目用到React做UI和Mobx做数据控制处理。所以我就记录一下学习的东西。今天就分享一下...
    Salon_sai阅读 1,549评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,466评论 25 708
  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 12,715评论 7 110
  • 读了《金字塔原理》,让我的逻辑思考能力得到了很大的加强。 每一层次的思想观点必须是对低一层次思想观点的概括——各种...
    大熊不知道阅读 1,025评论 0 1
  • 这是现实。哎。 在别人面前,每个家庭都是互相关爱,互相理解,互相支持的。这种美好情景只出现在理想世界。关上门,只有...
    by小微阅读 284评论 1 0