React-使用装饰器
Posted superlizhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React-使用装饰器相关的知识,希望对你有一定的参考价值。
create-react-app默认不支持装饰器的,需要做以下配置。
打开 package.json ,可以看到eject。运行 npm run eject 可以让由create-react-app创建的项目的配置项暴露出来。
{
...
"scripts": {
...
"eject": "react-scripts eject"
},
...
}
运行 npm run eject
此时,项目中多了一个config文件,并且各个配置文件已经暴露出来了。(运行npm run eject之前,保证本地没有待提交到git的文件)
安装babel插件
Babel >= 7.x
npm install --save-dev @babel/plugin-proposal-decorators
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": { "plugins": [ "transform-decorators-legacy" ], "presets": [ "react-app" ] }
至此,就可以在项目中使用装饰器了
@MyContainer class B extends Component{ render(){ return ( <p>B组件</p> ) } } export default B;
以上是关于React-使用装饰器的主要内容,如果未能解决你的问题,请参考以下文章
react——@修饰器——高阶组件的使用——通过装饰器来调用高阶组件——简单修改样式
React/Reflux:使用装饰器将带有 mixin 的类转换为 ES6