博客
关于我
在create-react-app创建的项目下允许函数绑定运算符
阅读量:415 次
发布时间:2019-03-06

本文共 1598 字,大约阅读时间需要 5 分钟。

前话

React的函数绑定一致是个问题,主要有下面几种方式:

  • 事件处理器动态绑定
export default class Com extends React.Component {    render() {            }}
  • 构造函数绑定
export default class CartItem extends React.Component {        constructor(props) {        super(props);        this.method = this.method.bind(this);    }    render() {          }}
  • 构造函数 + 箭头函数 | 箭头函数
export default class CartItem extends React.Component {    const method2 = () =>{...}        constructor(props) {        super(props);        this.method = (ev) => {...}    }    render() {           }}
  • 通过bael的

这个是babel支持的,还不是标准

export default class CartItem extends React.Component {          method = () => {...};    render() {           }}
  • stage 0 的
export default class CartItem extends React.Component {          method(){...};    render() {             }}

最后一种很帅气, 然并软,我使用就直接报错。 臣不服,不服。

于是寻找方案, 因为是create-react-app创建的项目。
我的思考方案如下

  • create-react-app内置支持的配置
    在awesome-create-react-app中找到, 看到了光芒,光芒啊。
    高兴太早,死的也早,被拒绝了,大致是,想法非常好,非常好,就是不能。那么,我走下一条路
  • npm run eject
    采用eject后,会多出很多文件,并且是不可逆向的。
    恶心,恶心,那么多文件。我要出去透透气。
  • react-app-rewired
    这个比较简单一些。
    寻寻觅觅找到了
    然后找到对应的插件,
const rewireMobX = require('react-app-rewire-mobx');const rewireEslint = require('react-app-rewire-eslint');const {injectBabelPlugin} = require('react-app-rewired');/* config-overrides.js */module.exports = {    webpack: function override(config, env) {        config = rewireEslint(config, env);        config = rewireMobX(config, env);        config = injectBabelPlugin('transform-function-bind',config)        config.output.publicPath = ''        return config;    }}

修改完毕,启动,哦,可以。 真是不错。

扔掉键盘,甩开鼠标,深深的一口水,想写行代码咋这么难。

转载地址:http://fdhkz.baihongyu.com/

你可能感兴趣的文章
mysql锁机制,主从复制
查看>>
Mysql锁机制,行锁表锁
查看>>
Mysql锁(2):表级锁
查看>>
Mysql错误2003 -Can't connect toMySQL server on 'localhost'(10061)解决办法
查看>>
MySQL错误提示mysql Statement violates GTID consistency
查看>>
mysql长事务
查看>>
MySQL集群解决方案(4):负载均衡
查看>>
MySQL面试宝典
查看>>
mysql面试题学校三表查询_mysql三表查询分组后取每组最大值,mysql面试题。
查看>>
Mysql面试题精选
查看>>
MySQL面试题集锦
查看>>
mysql面试题,存储引擎InnoDB和MyISAM
查看>>
mysql面试题:为什么MySQL单表不能超过2000W条数据?
查看>>
mysql面试题:创建索引时会不会锁表?
查看>>
mysql面试题:高度为3的B+树可以存放多少数据?
查看>>
mysql颠覆实战笔记(八)--mysql的自定义异常处理怎么破
查看>>
mysql驱动、durid、mybatis之间的关系
查看>>
mysql驱动支持中文_mysql 驱动包-Go语言中文社区
查看>>
MySQL高可用之——keepalived+互为主从
查看>>
MySQL高可用切换_(5.9)mysql高可用系列——正常主从切换测试
查看>>