Javascript 如何将正确的id发送到onDelete?我没有在onClick中发送任何id,因此onDelete如何知道传递给它的是哪个id?

Javascript 如何将正确的id发送到onDelete?我没有在onClick中发送任何id,因此onDelete如何知道传递给它的是哪个id?,javascript,reactjs,onclick,frontend,react-props,Javascript,Reactjs,Onclick,Frontend,React Props,如果您将某物的id发送到组件“Note” import React from "react"; function Note(props) { function handleClick() { console.log(props.id); props.onDelete(props.id); } return ( <div className="note"> <h1>{props

如果您将某物的id发送到组件“Note”

import React from "react";

function Note(props) {
  
  function handleClick() {
    console.log(props.id);
    props.onDelete(props.id);
  }

  return (
    <div className="note">
      <h1>{props.title}</h1>
      <p>{props.content}</p>
      <button onClick={handleClick}>DELETE</button>
    </div>
  );
}

export default Note;
它将传递到便笺的道具,您可以这样使用它

这可能是基于你的应用程序的正确用法,但如果你有很多组件要发送给你,最好这样做

    function Main()
       {
         <Note id={4} />
       }
另一种方法是

const noteProps = {...your props}
    function Main()
       {
         <Note noteProps={noteProps} />
       }
function Note({noteProps})
       {
         //you can use it this way: noteProps.id
         function handleClick() {
           console.log(noteProps.id);
           props.onDelete(noteProps.id);
         }
       }
尝试运行以下命令:

从React导入React; 功能记事本{ const handleClick=id=>{ console.logid; props.onDeleteid; } 回来 {props.title} {props.content}

删去 ; }
导出默认票据 您必须从其父级传递id。这就是它知道哪个id的方式。

这是否回答了您的问题?此handleClick函数在render上运行。您必须这样定义它:handleClickprops.id}>DELETE@Ehsan我想你弄错了,我的朋友,当你的函数像这个函数handleClick{…}时,你需要这个方法但看看我在那里做了什么。它与你如何定义函数无关。你在button中定义的是一个立即函数。它在山上运行。无论何时传递参数,都应该像handleClickprops.id}>DELETEHi那样定义它,感谢您的回复。我从主组件发送id,并通过Note中的props使用它。我的问题是假设其中有4个Note组件,我正在其中一个组件中按下delete按钮。props.id如何发送要删除的正确id而不是任何其他Notes组件的id?props.id如何获取按下delete键的组件的id?第一次呈现代码时,您发送给“Note”组件的所有道具都将通过“Note”组件作为其参数。当您单击删除按钮时,react将重新呈现相关组件的。您可以通过控制台日志或调试对此进行检查,并将知道您到底向每个“备注”组件发送了什么。您不必担心发送到组件的内容,除非您愿意,否则它们永远不会消失
function App()
       {
         <Note id={5} someOtherProp={true} />
       }
function Note({id, someOtherProp})
       {
         //you can use it this way: id, someOtherProp
         function handleClick() {
           console.log(id);
           props.onDelete(id);
         }
       }