浅谈箭头函数写法在ReactJs中的使用


Posted in Javascript onAugust 22, 2017

ES7中的箭头函数写法真的是很方便,而现今ReactJs又非常流行而且好用,非常适合有Java面向对象经验的同学学习和使用,在使用Reacjs构建组件时,如果想要使用箭头函数写法定义函数该怎么办呢?

首先,如果你直接在React组件中使用箭头函数写法定义函数,编译是不会通过的,会报出语法错误。

ERROR in ./modules/Repos.js
Module build failed: SyntaxError: E:/AllWorkSpace/react-router/trunk/lessons/01-
setting-up/modules/Repos.js: Unexpected token (4:16)

 2 | import {Link} from 'react-router';
 3 | export default class Repos extends Component{
> 4 |   handleSubmit = () => {
  |         ^
 5 |
 6 |   }
 7 |   render(){

 @ ./index.js 19:13-39

如上所述,handleSubmit函数定义失败,那要怎样才能让你的reactjs项目支持箭头函数写法呢,答案是 babel-preset-es2015,babel-preset-React,babel-preset-stage-0,babel-plugin-transform-class-properties. 只有添加这四个组件,这样才能支持箭头函数写法。

那么我们该怎么做呢,首先当然是安装和下载babel-preset-es2015,babel-preset-react,babel-preset-stage-0,babel-plugin-transform-class-properties 这四个组件了。

npm install --save-dev babel-preset-es2015
npm install --save-dev babel-preset-react
npm install --save-dev babel-preset-stage-0
npm install --save-dev babel-plugin-transform-class-properties

然后,在根目录下添加.babelrc 文件,文件内容是

{
  presets: [ "react","es2015","stage-0"],
  "plugins": ["transform-class-properties"]
}

在然后,在webpack.config.js中添加配置。

module: {
   loaders: [
    { 
     test: /\.js$/, 
     exclude: /node_modules/, 
     loader: 'babel-loader?presets[]=react,presets[]=es2015,presets[]=stage-0' 
    }
   ]
  }

其中,这句 loader: 'babel-loader?presets[]=react,presets[]=es2015,presets[]=stage-0' 需要留意,而且顺序必须这样,不能错,要不然会报错。

ERROR in ./modules/Repos.js
Module build failed: SyntaxError: E:/AllWorkSpace/react-router/trunk/lessons/01-
setting-up/modules/Repos.js: Missing class properties transform.

 2 | import {Link} from 'react-router';
 3 | export default class Repos extends Component{
> 4 |   handleSubmit = () => {
  |   ^
 5 |
 6 |   }
 7 |   render(){

 @ ./index.js 19:13-39

好了,这样就可以为所欲为,随心所欲的使用自己喜爱的箭头函数写法了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
Apr 27 Javascript
jQuery数据缓存功能的实现思路及简单模拟
May 27 Javascript
JS刷新当前页面的几种方法总结
Dec 24 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
Feb 11 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
Apr 15 Javascript
JavaScript判断变量是对象还是数组的方法
Aug 28 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
Feb 27 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
Jan 28 Javascript
JavaScript 中Date对象的格式化代码方法汇总
Sep 06 Javascript
webpack的pitching loader详解
Sep 23 Javascript
JS实现水平移动与垂直移动动画
Dec 19 Javascript
解析原生JS getComputedStyle
May 25 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
Aug 22 #Javascript
bootstrap3-dialog-master模态框使用详解
Aug 22 #Javascript
关于JS与jQuery中的文档加载问题
Aug 22 #jQuery
bootstrap confirmation按钮提示组件使用详解
Aug 22 #Javascript
bootstrap multiselect下拉列表功能
Aug 22 #Javascript
浅谈Vue父子组件和非父子组件传值问题
Aug 22 #Javascript
纯js实现图片匀速淡入淡出效果
Aug 22 #Javascript
You might like
使用Apache的rewrite技术
2006/06/22 PHP
浅析php工厂模式
2014/11/25 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
基于php实现的php代码加密解密类完整实例
2016/10/12 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
服务器安全设置的几个注册表设置
2007/07/28 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
Javascript从数组中随机取出不同元素的两种方法
2016/09/22 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
JavaScript正则表达式实例详解
2016/10/16 Javascript
vue2.0 axios前后端数据处理实例代码
2017/06/30 Javascript
vue代理和跨域问题的解决
2018/07/18 Javascript
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
javascript History对象原理解析
2020/02/17 Javascript
一起深入理解js中的事件对象
2021/02/06 Javascript
django中使用事务及接入支付宝支付功能
2019/09/15 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
Python浮点型(float)运算结果不正确的解决方案
2020/09/22 Python
大学生求职自荐信
2013/12/12 职场文书
新学期标语
2014/06/30 职场文书
庆六一活动总结
2014/08/29 职场文书
离婚协议书怎么写
2014/09/12 职场文书
企业党员个人自我评价
2014/09/20 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
房屋买卖协议样本
2014/11/16 职场文书
先进单位申报材料
2014/12/25 职场文书
三方合作意向书范本
2015/05/09 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
TV动画「神渣☆爱豆」公开第一弹主视觉图
2022/03/21 日漫