使用注解@connect报错

在 App.js 代码中使用了新特性 注解

import React from "react";
import { connect } from "react-redux";
import {addGun,removeGun,addGunAsync} from "./index.redux";

const mapStatetoProps =(state)=>{
  return {num:state}
};

const actionCreators = {addGun,removeGun,addGunAsync}
// App = connect(mapStatetoProps,actionCreators)(App)

@connect(mapStatetoProps,actionCreators)
class App extends React.Component{
  render(){
    // const store = this.props.store
    // const addGun = this.props.addGun 
    // const removeGun = this.props.removeGun
    // const addGunAsync = this.props.addGunAsync
    // const num =this.props.num
    // const num = store.getState()
    return (
      <div>
      <h1>现在有机枪{this.props.num}把</h1>
      <button onClick={this.props.addGun}>申请武器</button>
      <button onClick={this.props.removeGun}>上交武器</button>
      <button onClick={this.props.addGunAsync}>2秒后申请武器</button>
      {/* <button onClick={()=>{store.dispatch(addGun())}}>申请武器</button>
      <button onClick={()=>{store.dispatch(removeGun())}}>上交武器</button>
      <button onClick={()=>{store.dispatch(addGunAsync())}}>2秒后申请武器</button> */}
      </div>
    )
  }
};


export default App

安装了 babel-plugin-transform-decorators-legacy 依赖后 在 package.json 或者 .babellrc文件中 添加

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

结果报错


032EF642-3F38-432a-9D64-5027DED2A4D5.png

原因是因为 babel 版本更新导致的
改用 @babel/plugin-proposal-decorators 插件

npm install @babel/plugin-proposal-decorators --save-dev

package.json 或 .babellrc文件中

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

就 OK 了,就可以在 代码里使用 注解了

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

推荐阅读更多精彩内容

  • babel官网 babel 介绍 Babel 是一个通用的多用途 JavaScript 编译器。通过 Babel ...
    锋享前端阅读 1,846评论 0 10
  • webpack-4.x 安装 npm i webpack -g: 全局安装webapck 基本使用 不使用配置文件...
    duans_阅读 1,764评论 0 12
  • Summary 对于Babel V7以后,一些包的理解 @babel/core babel 核心包,编译器。提供转...
    fancy_coder阅读 4,032评论 0 0
  • babel官网 babel 介绍 Babel 是一个通用的多用途 JavaScript 编译器。通过 Babel ...
    不得不爱XIN阅读 1,169评论 0 9
  • 学问没有,技术没有,背景没有,去努力还是在那哎哟喂的,是不好,还是太小,是每个人年轻时的经历,每个人都会成大器,但...
    记忆桃园阅读 267评论 0 0