Javascript 我不知道';在React中,我不知道在事件处理过程中两者之间的区别

Javascript 我不知道';在React中,我不知道在事件处理过程中两者之间的区别,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,onRemove(id)是一个过滤从参数获取的id的函数 案例1) const namesList=names.map(name=>( {name.text}); 案例2) constnameslist=names.map(name=>(onRemove(name.id)}> {name.text}); 我不知道案例1和案例2之间的区别。在第一种情况下,您在不使用绑定的情况下传递参数id,在第二种情况下,您使用箭头函数传递与绑定相等的参数 预期行为 案例1onRemove(id)函数将在组件

onRemove(id)
是一个过滤从参数获取的id的函数

案例1)

const namesList=names.map(name=>(
  • {name.text}
  • );
    案例2)

    constnameslist=names.map(name=>(
  • onRemove(name.id)}> {name.text}
  • );

    我不知道案例1和案例2之间的区别。

    在第一种情况下,您在不使用绑定的情况下传递参数
    id
    ,在第二种情况下,您使用箭头函数传递与绑定相等的参数

    预期行为 案例1
    onRemove(id)
    函数将在组件呈现后立即调用(在示例中,您将在每次刷新时看到控制台日志)

    案例2
    onRemove(id)
    功能将在您双击时调用(在示例中,您将在双击时看到控制台日志)

    要了解有关传递参数和如何绑定函数的更多信息,请执行以下操作:


    然后使用更好的代码编辑器并格式化代码:第一种情况下
    映射中的函数返回与第二种情况完全不同的结果。
    
    const namesList = names.map(name => (<li key={name.id} onDoubleClick={onRemove(name.id)}>
    {name.text}</li>));
    
    const namesList = names.map(name => (<li key={name.id} onDoubleClick={()=> onRemove(name.id)}>
    {name.text}</li>));