Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么arrow函数只返回原样的值就作为参数发送?_Javascript - Fatal编程技术网

Javascript 为什么arrow函数只返回原样的值就作为参数发送?

Javascript 为什么arrow函数只返回原样的值就作为参数发送?,javascript,Javascript,我是JavaScript新手,我正在学习如何使用以下代码进行反应 它还教导如何将Alt用作状态管理库,我的问题与connect方法语法有关。我没有详细解释这个问题,因为我相信我的问题只与理解语法有关 我知道connect将逗号分隔的参数作为道具传递给组件应用程序。但是,我不理解第一个参数 我遇到的箭头函数都在=>之后使用{},例如()=>{},其中参数将位于()中,函数体将位于{} 我对({lanes})=>({lanes})的理解是,这是一个接受名为lanes的对象数组并返回相同数组的函数。代

我是JavaScript新手,我正在学习如何使用以下代码进行反应

它还教导如何将Alt用作状态管理库,我的问题与
connect
方法语法有关。我没有详细解释这个问题,因为我相信我的问题只与理解语法有关

我知道connect将逗号分隔的参数作为道具传递给组件应用程序。但是,我不理解第一个参数

我遇到的箭头函数都在
=>
之后使用
{}
,例如
()=>{}
,其中参数将位于
()
中,函数体将位于
{}

我对
({lanes})=>({lanes})
的理解是,这是一个接受名为lanes的对象数组并返回相同数组的函数。代码段如下:

export default connect(({lanes}) => ({lanes}), {
    LaneActions
})(App)
我的问题是:

  • 第一个参数确实是一个函数,对吗
  • 车道是否包含在
    {}
    中以指定其为数组?如果没有,它代表什么
  • 如果1。是的,为什么要传递一个按原样传递参数的函数呢。为什么不将连接写为
    connect(lanes,LaneActions)(App)
    connect({lanes},LaneActions)(App)

    {}
    中封闭车道会有什么不同吗?它是什么
  • 如果1。如果错误,请解释第一个参数的含义
  • 是的,这确实是一个箭头函数
  • 不,这不是JS中的“数组”(尽管如果您使用过PHP,您可能会错误地将其称为数组,因为PHP社区经常使用“(关联)数组”来表示这个概念)。这是JS术语中的“对象”,即键值数据结构(而在JS中,数组是数字索引的)。具体来说,左侧是一个名为“解构参数””的新功能,它获取一个对象并将特定键提取到局部变量中。在右侧,有一个对象文本,根据本地数据创建一个新对象(注意,省略了该值,这在最近的JS中是可能的)
  • 大概是因为
    connect
    要求将回调作为第一个参数,如果传递非函数,则会中断。另外,请注意,这不是简单的传递;在返回第一个参数之前,它会从第一个参数中删除除车道以外的所有关键点
  • 因为(1)是正确的,所以这里不需要回答
  • 5和6:这些有点宽。我建议你问一个新问题,或者检查一下你是否想知道所有的事情。要回答此特定情况:需要参数上的
    ()
    ,因为参数比单个标识符更复杂,参数中的
    {}
    用于分解结构,
    ()正文上的
    用于区分对象文字和仅由单个语句组成的块,正文中的{}创建对象文字

    顺便说一句,如果您想知道箭头函数(编码有点密集)到底做了什么,那么它做的事情与下面的大致相同(给出或获取一些当前不相关的箭头函数的怪癖):

  • 是的,这确实是一个箭头函数
  • 不,这不是JS中的“数组”(尽管如果您使用过PHP,您可能会错误地将其称为数组,因为PHP社区经常使用“(关联)数组”来表示这个概念)。这是JS术语中的“对象”,即键值数据结构(而在JS中,数组是数字索引的)。具体来说,左侧是一个名为“解构参数””的新功能,它获取一个对象并将特定键提取到局部变量中。在右侧,有一个对象文本,根据本地数据创建一个新对象(注意,省略了该值,这在最近的JS中是可能的)
  • 大概是因为
    connect
    要求将回调作为第一个参数,如果传递非函数,则会中断。另外,请注意,这不是简单的传递;在返回第一个参数之前,它会从第一个参数中删除除车道以外的所有关键点
  • 因为(1)是正确的,所以这里不需要回答
  • 5和6:这些有点宽。我建议你问一个新问题,或者检查一下你是否想知道所有的事情。要回答此特定情况:需要参数上的
    ()
    ,因为参数比单个标识符更复杂,参数中的
    {}
    用于分解结构,
    ()正文上的
    用于区分对象文字和仅由单个语句组成的块,正文中的{}创建对象文字

    顺便说一句,如果您想知道箭头函数(编码有点密集)到底做了什么,那么它做的事情与下面的大致相同(给出或获取一些当前不相关的箭头函数的怪癖):


    如果你想否决投票,请帮我把问题弄清楚。@YuryTarabanko我实际上已经尽了最大的努力来遵循这些准则。谢谢。建议:不要在一个问题中问六个独立的问题。找到一种方法,将你想要的概括为一个简明的问题。1到4在同一个问题中提问似乎是合理的,因为它们基本上都与“这是在做什么,为什么?”。我建议将5和6作为新问题提问,因为这两个问题非常广泛。如果你想否决投票,请帮助我把问题做得更好。@YuryTarabanko我确实尽了最大的努力来遵循这些指导原则。谢谢。建议:不要在一个问题中问六个独立的问题。找到一种方法,将你想要的概括为一个简明的问题。1到4问我似乎是合理的
    function(obj) {
        return { lanes: obj.lanes };
    }