Nodejs与React Native中箭头函数的使用问题,好像不认识。
Nodejs与React Native中箭头函数的使用问题,好像不认识。
难道要加–harmony_arrow_functions 才能吗?但是我是用命令来启动RN,怎么加上呢?
不需要加吧, react native 用 babel
onPress={ ()=> setState({name:‘xx’})} …
我这样写会报 setState 不是函数。 arrow function 应该不用 bind this 吧。
this.setState()
绝对不会是直接 setState
昨天也都试过,原来是我看错了。一直去改变另外一个 state ,难怪没用。
肯定要加 this 啊
arrow function 应该不用 bind this 的意思是 这函数本身没有 this
它的 this 是外面 function 的 this
但不等于说可以把 this 省略
除非你用 with statement 否则不存在可以省略 this 的情况
应该说箭头函数的 this 跟包围它的的代码块里面的 this 是共享的吧。毕竟说没有 this 其他初学者可能会以为 this 变量就不能用了。
在Node.js与React Native中,箭头函数(Arrow Functions)是ES6(ECMAScript 2015)引入的一个重要特性,它们提供了一种更简洁的方式来写函数表达式。如果你在使用箭头函数时遇到问题,可能是由几个常见原因导致的。以下是一些可能的解决方法和示例代码:
1. 确保环境支持ES6
首先,确保你的Node.js版本至少是v4.0.0以上,因为从v4.0.0开始,Node.js原生支持ES6的大部分特性,包括箭头函数。React Native则基于JavaScriptCore或Hermes引擎,通常也支持ES6。
2. 箭头函数的基本语法
// 普通函数
function add(a, b) {
return a + b;
}
// 箭头函数
const add = (a, b) => a + b;
3. 箭头函数与this
绑定
箭头函数不绑定自己的this
,它会捕获其所在上下文的this
值,因此在使用this
时,要特别注意这一点。
function Person() {
this.age = 0;
setInterval(() => {
this.age++; // `this`正确地指向Person实例
}, 1000);
}
const p = new Person();
4. 排查错误
如果代码中出现“不认识”的错误,检查是否有语法错误,或者是否在不支持ES6的环境中运行代码。你也可以使用Babel等转译器将ES6代码转换为ES5,以确保在旧环境中也能运行。
希望这些信息能帮助你解决问题!如果仍有疑问,请提供更具体的错误信息或代码示例。