mobx +反应意外的令牌

Elī*_*iņa 18 reactjs mobx mobx-react

所以我用https://facebook.github.io/react/blog/2016/07/22/create-apps-with-no-configuration.html创建了一个没有配置的应用程序

我安装了mobx和mobx-react,但仍然在@ symb之前显示意外令牌的错误.

我是否需要添加其他内容,或者我当前的配置是错误的?:(

的package.json

"devDependencies": {
"react-scripts": "0.8.4",
"babel-core": "^6.7.6",
"babel-loader": "^6.2.4",
"babel-preset-es2015": "^6.6.0",
"babel-preset-react": "^6.5.0",
"babel-preset-stage-0": "^6.5.0"
},
"dependencies": {
"autobind-decorator": "^1.3.4",
"classnames": "^2.2.5",
"lodash": "^4.15.0",
"mobx": "^2.5.1",
"mobx-react": "^3.5.5",
"react": "^15.3.1",
"react-dom": "^15.3.1",
"validator": "^5.6.0"
 },
Run Code Online (Sandbox Code Playgroud)

.babelrc

{
  "presets": ["es2015", "stage-0", "react"],
  "plugins": [
      "transform-decorators-legacy",
      "transform-class-properties"
  ]
}
Run Code Online (Sandbox Code Playgroud)

和代码

import React, { Component } from 'react';
import { action, observable } from 'mobx'
import {observer} from 'mobx-react';


class App {
    @observer cake = [];
}

export default new App();
Run Code Online (Sandbox Code Playgroud)

Tho*_*lle 17

create-react-app不支持装饰器(@).您可以弹出 create-react-app自行添加,从头开始设置自己的环境,或者使用 mobx-react-boilerplate之类的东西作为起点.

我曾亲自使用反应过来-APP-重新布线mobx扩展取得了巨大成功.


XPX*_*oom 9

运行npm run eject后你缺少包(因为create-react-app不支持装饰器).

npm install --save-dev babel-plugin-transform-decorators-legacy babel-plugin-transform-class-properties

然后将以下Babel配置添加到package.json

"babel": {
  "plugins": [
    "transform-decorators-legacy"
  ],
  "presets": [
    "react-app"
  ]
},
Run Code Online (Sandbox Code Playgroud)


mwa*_*ger 6

您可以使用不使用装饰器的语法(此处此处)。

这是使用您提供的App类代码的示例:

import React, { Component } from 'react';
import { action, extendObservable } from 'mobx'
import {observer} from 'mobx-react';


class App {
  constructor() {
    extendObservable(this, {
      cake = [],
    }); 
  }
}

export default new App();
Run Code Online (Sandbox Code Playgroud)