我想知道是否有一种方法可以将值传递给“ onClick”之类的函数。出于性能考虑,不考虑使用以下代码:
<div onClick={() => handleClick(value)}/>
我想写:
<div onClick={handleClick(value)}/>
但是这在React中是不可能的。有解决方案吗?
答案 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>
}