поблем для декораторов с mobx и реагировать. js - PullRequest
0 голосов
/ 13 марта 2020

Я хочу создать простое reactjs веб-приложение с mbox и babel 7, но

У меня есть эта ошибка:

. / Src / App. js SyntaxError: /Users/matteoangelotti/Documents/personale/studio/mobx/example1/src/App.js: Поддержка экспериментального синтаксиса 'decorators-legacy' в настоящее время не включена (7: 3):

Я создаю свое приложение с помощью команды:

yarn create react-app exsample1

, и я установил декораторы Babel

yarn add @babel/plugin-proposal-class-properties @babel/plugin-proposal-decorators.

Я также сделал

npm i --save-dev @babel/plugin-proposal-class-properties @babel/plugin-proposal-decorators.

мое приложение. js

import React from "react";
import { render } from "react-dom";
import { observable, action } from "mobx";
import { observer } from "mobx-react";
class AppState {
  @observable timer = 0;

  constructor() {
    setInterval(() => {
      this.timer += 1;
    }, 1000);
  }

  @action.bound
  reset() {
    this.timer = 0;
  }
}

const TimerView = observer(({ appState }) => (
  <button onClick={appState.reset}>Seconds passed: {appState.timer}</button>
));

render(
  <div>
    <TimerView appState={new AppState()} />
  </div>,
  document.getElementById("root")
);

мой пакет. json is

{
  "name": "example1",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.3.2",
    "@testing-library/user-event": "^7.1.2",
    "mobx": "^5.15.4",
    "mobx-react": "^6.1.8",
    "react": "^16.13.0",
    "react-dom": "^16.13.0",
    "react-scripts": "3.4.0"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@babel/plugin-proposal-class-properties": "^7.8.3",
    "@babel/plugin-proposal-decorators": "^7.8.3"
  }
}

и мой babel.config. json is

{
    "plugins": [
    [
        "@babel/plugin-proposal-decorators",
        {
            "legacy": true
        }
    ],
    [
        "@babel/plugin-proposal-class-properties",
        {
            "loose": true
        }
    ]
]

}

Я прочитал много статей здесь в stackowerflow и попробовал разные решения, но никто не работает ... вышеприведенное - это решение, которое следует исправить в соответствии с прочитанными предложениями, но оно не работает, может кто-нибудь сказать мне, что не так? Что я должен исправить?

...