Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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 反应初学者问题:混淆箭头函数示例_Javascript_Reactjs_Material Ui_Arrow Functions - Fatal编程技术网

Javascript 反应初学者问题:混淆箭头函数示例

Javascript 反应初学者问题:混淆箭头函数示例,javascript,reactjs,material-ui,arrow-functions,Javascript,Reactjs,Material Ui,Arrow Functions,我是React/ES6初学者,我正在使用我找到的代码来处理正在单击的自定义组件内的复选框(自定义组件包括材质ui复选框,因此为“选中”值)。我计划在自定义组件中添加更多字段,例如与复选框相对应的文本框,用户可以在其中添加有关选中框的更多信息 不管怎样,我对第一行的内容有点困惑。我希望你们中的一位高级开发人员能帮我把它分解,这样我就能了解这里发生了什么 有两点需要注意: 索引控制台记录为整数值(在映射数组中的位置) 默认情况下,checked为false,但控制台记录为true(是否为 不知怎么变

我是React/ES6初学者,我正在使用我找到的代码来处理正在单击的自定义组件内的复选框(自定义组件包括材质ui复选框,因此为“选中”值)。我计划在自定义组件中添加更多字段,例如与复选框相对应的文本框,用户可以在其中添加有关选中框的更多信息

不管怎样,我对第一行的内容有点困惑。我希望你们中的一位高级开发人员能帮我把它分解,这样我就能了解这里发生了什么

有两点需要注意:

  • 索引控制台记录为整数值(在映射数组中的位置)
  • 默认情况下,checked为false,但控制台记录为true(是否为 不知怎么变为真的?)

  • 下面是一个代码示例,我从中获取了这个示例,它正在工作

    const onCheckBoxChange = index => ({ target: { checked } }) => {
        const newValues = [...values];
        const value = values[index];
        newValues[index] = { ...value, checked };
    
        console.log('>> [form.js] (onCheckBoxChange) value = ',value, index);
        console.log('>> [form.js] (onCheckBoxChange) newValues[index] = ',newValues[index]);
    
        props.setDesignOrDigital(newValues);
    
      };
    
    以下是:

    const onCheckBoxChange = index => ({ target: { checked } }) => {
      // stuff
    };
    
    也可以写成:

    const onCheckBoxChange = index => (event) => {
      const checked = event.target.checked;
      // stuff
    };
    
    {target:{checked}}
    是在函数参数上使用的示例。在这种情况下,参数将是一个事件

    第一部分:

    index=>另一个函数

    正如svey在评论中提到的,它是curried函数的一个示例。我假设onCheckBoxChange在一个循环中使用,其中传递了正在呈现的复选框的索引,然后返回一个函数,该函数是变更事件的事件处理程序。然后使用
    索引
    获取/设置各个复选框的选中状态。

    以下内容:

    const onCheckBoxChange = index => ({ target: { checked } }) => {
      // stuff
    };
    
    也可以写成:

    const onCheckBoxChange = index => (event) => {
      const checked = event.target.checked;
      // stuff
    };
    
    {target:{checked}}
    是在函数参数上使用的示例。在这种情况下,参数将是一个事件

    第一部分:

    index=>另一个函数


    正如svey在评论中提到的,它是curried函数的一个示例。我假设onCheckBoxChange在一个循环中使用,其中传递了正在呈现的复选框的索引,然后返回一个函数,该函数是变更事件的事件处理程序。然后使用
    索引
    获取/设置各个复选框的选中状态。

    这只是一个函数定义。你能展示一下它在各自的组件中是如何使用的吗?这是一个常用的函数。请看:这只是一个函数定义。你能展示一下它在各自的组件中是如何使用的吗?这是一个常用的函数。看这个:谢谢你,瑞安!我怀疑这与解构有关,但我无法理解那里发生了什么。你的解释很有帮助,我想我现在明白了。谢谢谢谢你,瑞安!我怀疑这与解构有关,但我无法理解那里发生了什么。你的解释很有帮助,我想我现在明白了。谢谢