如何在JavaScript中处理嵌套函数中的变量

时间:2018-11-12 14:56:50

标签: javascript ecmascript-6

调用函数时(例如我的情况 setState(...)”),其中第一个参数是函数 >,我想知道如何将局部变量传递给该函数。

这是我的例子:

let myDate = new Date();

this.setState((myDate) => {
    return {
       date: myDate
   }
})

您可以看到我在这里使用arrow-notation

2 个答案:

答案 0 :(得分:1)

您有两个名为myDate的变量。

  • 在第一行中定义的范围更广的那个
  • 在第三行的参数中定义的箭头函数的一个局部

第二个掩盖了第一个。

不要这样做,因此该功能可以访问更广泛的范围。

this.setState(() => {

答案 1 :(得分:1)

不必要在setState中添加参数,只需在setState中调用变量即可。

let myDate = new Date();

 this.setState(() => {
    return {
       date: myDate
   }
})