Nodejs与React Native中箭头函数的使用问题,好像不认识。

发布于 1周前 作者 eggper 来自 nodejs/Nestjs

Nodejs与React Native中箭头函数的使用问题,好像不认识。
难道要加–harmony_arrow_functions 才能吗?但是我是用命令来启动RN,怎么加上呢?

7 回复

不需要加吧, 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,以确保在旧环境中也能运行。

希望这些信息能帮助你解决问题!如果仍有疑问,请提供更具体的错误信息或代码示例。

回到顶部