浅谈箭头函数写法在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 相关文章推荐
jQuery chili图片远处放大插件
Nov 30 Javascript
JS保留两位小数,多位小数的示例代码
Jan 07 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
May 19 Javascript
JS实现IE状态栏文字缩放效果代码
Oct 24 Javascript
JavaScript中的Array 对象(数组对象)
Jun 02 Javascript
js使用xml数据载体实现城市省份二级联动效果
Nov 08 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
Jan 16 Javascript
微信小程序实现手指触摸画板
Jul 09 Javascript
微信小程序自定义tabBar组件开发详解
Sep 24 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
Dec 10 Javascript
关于layui flow loading占位图的实现方法
Sep 21 Javascript
浅谈es6中的元编程
Dec 01 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
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
JavaScript Event事件学习第一章 Event介绍
2010/02/07 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
jQuery实现简单日期格式化功能示例
2017/09/19 jQuery
Angular实现svg和png图片下载实现
2019/05/05 Javascript
JavaScript监听一个DOM元素大小变化
2020/04/26 Javascript
node.js如何根据URL返回指定的图片详解
2020/10/21 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
2020/10/27 Javascript
vue-router路由懒加载及实现的3种方式
2021/02/28 Vue.js
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
python遍历类中所有成员的方法
2015/03/18 Python
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
python利用微信公众号实现报警功能
2018/06/10 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
python3中eval函数用法使用简介
2019/08/02 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
如何理解python中数字列表
2020/05/29 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
方正Java笔试题
2014/07/03 面试题
祖国在我心中演讲稿600字
2014/09/23 职场文书
2014年行政后勤工作总结
2014/12/06 职场文书
经验交流材料格式
2014/12/30 职场文书
晚会开场白和结束语
2015/05/29 职场文书
Html5通过数据流方式播放视频的实现
2021/04/27 HTML / CSS
Android实现图片九宫格
2022/06/28 Java/Android