反应传递值给onClick函数

时间:2020-09-18 17:44:32

标签: reactjs

我想知道是否有一种方法可以将值传递给“ onClick”之类的函数。出于性能考虑,不考虑使用以下代码:

<div onClick={() => handleClick(value)}/>

我想写:

<div onClick={handleClick(value)}/>

但是这在React中是不可能的。有解决方案吗?

2 个答案:

答案 0 :(得分:1)

实际上是可能的:您需要返回一个可以完成工作的函数。 像这样的东西:

const handleClick = value => () => {
// your logic
}

然后像这样使用它:

<div onClick={handleClick(value)}/>

答案 1 :(得分:0)

是的,如果您对诸如onClick之类的道具的回调将在调用时传递param事件。在这种情况下,只需传递一个函数名即可。示例:

const Comp = (props) => {
    const [value, setValue] = useState(0);
    const handleClick = (event) => {
        setValue(value + 1);
    }

    return <div>
        <div> {value} </div>
        {/*pass function name that declare of function have one param or don't have any pram*/}
        <button onClick={handleClick} > Click me</button>
    </div>
} 
相关问题