草庐IT

ES-illegal_argument_exception

全部标签

javascript - 将 React 组件从函数重构为 ES6 类

我是ES6的新手。对编写React组件的不同方式感到有点困惑。我从“React.createClass”开始,然后转向使用ES6类语法“扩展React.Component”。按照Redux教程,现在我看到他们以这种方式定义组件importReact,{PropTypes}from'react'constTodo=({onClick,completed,text})=>({text})Todo.propTypes={onClick:PropTypes.func.isRequired,completed:PropTypes.bool.isRequired,text:PropTypes.st

javascript - ES6 类中的作用域

我理解以下代码片段中发生的事情,以及如何修复(使用绑定(bind)或通过构造函数之外的方法使walkfriend),但为什么会发生这种情况?必须将类的作用域绑定(bind)到它自己的方法对我来说似乎违反直觉。classPerson{constructor(name,friend){this._name=name;if(friend){this.walkFriend=friend.walk;}}getname(){returnthis._name.toUpperCase();}walk(){console.log(this.name+'iswalking.');}}letbob=newP

javascript - ES6 函数中 while 循环中的解构赋值不会在循环外传播?

我在ES6中(通过node-esml)实现了一个简单的GCD算法,并且(对我而言)在while循环中更新变量值时出现了奇怪的行为。这段代码非常有效:functiongcdWithTemp(x,y){let[r,rdash]=[x,y]while(r!=0){q=Math.floor(rdash/r)temp=rr=rdash-q*rrdash=temp}return(rdash)}console.log(gcdWithTemp(97,34))返回1的预期答案。但是,如果我删除临时变量并改为使用解构赋值来尝试获得相同的结果:functiongcdWithDestructuredAssig

javascript - react : how to pass arguments to the callback

我的React组件中有一个元素列表,我希望它们是可点击的。单击时我调用一些外部函数在参数中传递项目ID:render(){return({this.props.items.map(item=>({doSomething(item.id)}>))})}此代码有效,但它有一个很大的性能缺陷:每次调用render时都会创建许多新的匿名函数。如何在此处传递doSomething函数作为引用,同时仍然能够为其提供item.id? 最佳答案 您可以使用data-attributes,在使用相同功能的同时为每个项目设置正确的id:function

javascript - 如何为 Pug、React 和 ES6 设置 webpack

我正在尝试使用React和ES6制作一个网站。我正在使用Webpack通过Babel转译我的JS,它工作正常。现在我需要知道如何用Pug(或HTML)编写我的模板并将其添加到Webpack工作流中。我希望我的构建文件夹有两个文件:我的bundle.js我的index.html文件从我的index.pug文件编译而来一个示例webpack.config.js文件会有所帮助,但我真正想要的只是如何执行此操作的一般思路。谢谢! 最佳答案 要在webpack中使用pug模板,您需要首先安装几个webpack插件。htmlwebpackplu

javascript - 为什么 apply with too many arguments 抛出 "Maximum call stack size exceeded"?

在Chrome和Node中,以下代码会抛出错误:functionnoop(){}vara=newArray(1e6)//Array[1000000]noop.apply(null,a)//UncaughtRangeError:Maximumcallstacksizeexceeded我明白为什么将100万个参数传递给一个函数可能是个坏主意,但谁能解释为什么错误是超出最大调用堆栈大小,而不是更相关的错误?(如果这看起来很无聊,原来的情况是Math.max.apply(Math,lotsOfNumbers),这是一种从数组中获取最大数的不合理方法。) 最佳答案

javascript - 甜蜜警报 : how pass argument to callback

我正在使用javascript警报库sweetalert我的代码是:functionfoo(id){swal({title:"Areyousure?",text:"Youwillnotbeabletorecoverthisimaginaryfile!",type:"warning",showCancelButton:true,confirmButtonColor:"#DD6B55",confirmButtonText:"Yes,deleteit!",closeOnConfirm:false},function(){swal("Deleted!","Yourimaginaryfileha

javascript - 如何使用 ES6 类创建一个不从 Object.prototype 继承的类?

我可以使用旧语法创建一个不从Object.prototype继承的类。functionShape(x,y,width,height){this.x=x,this.y=y,this.width=width,this.height=height;}Shape.prototype=Object.create(null,{constructor:{configurable:true,writable:true,value:Shape},move:{configurable:true,writable:true,value:function(x,y){this.x+=x,this.y+=y;}}

javascript - "target"和 "receiver"是 ES2015 规范中的同义词吗?

“receiver”和“target”在ES2015规范(参见下面的示例)和Web的其他地方都使用,指代用作this值的对象。这些词是同义词还是它们具有微妙的不同含义?是否有一个正确的术语来指代函数在调用时的this值?我注意到26.1.6中Reflect.get的签名使用这两个术语表示含义不同。这个问题源于ES2015规范中的命名不一致。规范用法示例:表5,第7行([[Get]]),部分6.1.7.2(我的底气):ReturnthevalueofthepropertywhosekeyispropertyKeyfromthisobject.IfanyECMAScriptcodemust

javascript - es6 如何使用非默认参数之前的默认参数?

我对默认参数有点生疏,我想知道如果参数在没有默认值的情况下出现在参数之前,我该如何为参数使用默认值?在examplefromRedux.js下面,state参数的默认值{}什么时候有用?(因为你不能默认下一个参数)?consttodo=(state={},action)=>{switch(action.type){//...case'TOGGLE_TODO':if(state.id!==action.id){returnstate}returnObject.assign({},state,{completed:!state.completed})default:returnstate}