关于装饰器的解析与使用

在react中使用装饰器和Mobx如何去配置

1.首先构建脚手架项目,(其他文件可删除只留如下目录文件)

create-react-app MobxApp

在这里插入图片描述
2.然后安装mobx, mobx-react

yarn add mobx mobx-react

3.## 重点来了(关于装饰器的配置)
经常遇到的装饰器@符号不被识别,怎么解决呢?
3.1 首先安装
customize-cra
react-app-rewired
@babel/plugin-proposal-decorators

yarn add customize-cra react-app-rewired @babel/plugin-proposal-decorators --dev

3.2然后在package.json中添加配置

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

再更改package.json中的"scripts"部分

"scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
    "eject": "react-app-rewired eject"
  },

3.3然后在项目根目录新建config-overrides.js文件,再添加以下配置
在这里插入图片描述

const { override, addDecoratorsLegacy } = require('customize-cra');
module.exports = override(
    addDecoratorsLegacy()
)

4.这个时候我们便可以开始使用我们的mobx和装饰器了
4.1在index.js里可以是初始化状态

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

ReactDOM.render(<App />, document.getElementById('root'));

4.2在App.js里我们使用mobx和装饰器

import React, { Component } from 'react';
import { observer } from 'mobx-react'
import { observable } from 'mobx'
@observer
class App extends Component {
  @observable count = 1
  render() {
    return (
      <div className="App" >
        {this.count}
      </div>
    );
  }
}

export default App;

5.最后,我们的项目便可以跑起来了,yarn start正常运行项目

yarn start
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值