Javascript 如何将正确的id发送到onDelete?我没有在onClick中发送任何id,因此onDelete如何知道传递给它的是哪个id?
如果您将某物的id发送到组件“Note”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
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);
}
}