create-react-app默认不支持装饰器的,需要做以下配置。
打开 package.json ,可以看到eject。运行 npm run eject 可以让由create-react-app创建的项目的配置项暴露出来。

安装babel插件

  Babel >= 7.x
npm install --save-dev @babel/plugin-proposal-decorators

  Babel@6.x

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

修改package.json文件的babel配置项
  Babel >= 7.x

  "babel": { "plugins": [
      ["@babel/plugin-proposal-decorators", { "legacy": true }]
    ], "presets": [ "react-app" ]
  }

  Babel@6.x

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

至此,就可以在项目中使用装饰器了

@MyContainer
class B extends Component{
  render(){ return ( <p>B组件</p>
 )
  }
}
export default B;

HappyCodingTop
526 声望847 粉丝

Talk is cheap, show the code!!