您正在通过使用“sendCred()”在 onClick 内部调用它来执行函数 sendCred。该事件侦听器接收一个函数,因此您应该单独分配 sendCred。
像这样:
return (
<div className="row container">
<button onClick={sendCred}>Activate Laser</button>
</div>
);
对于该功能,您应该知道您将收到可能对您有用的事件。
const sendCred = useCallback((event) => {
console.log('This is the click event:', event);
console.log("test");
});
当 onClick 接收到一个函数时,您可以使用 clousures 来利用您想要与事件一起发送的一些值。
代码如下所示:
import React, {useState} from "react";
export default function Signup(props) {
const sendCred = useCallback((value) => (event) => {
console.log("I have a value:", value);
console.log("I have an event:", event);
});
return (
<div className="row container">
<button onClick={sendCred('Laser')}>Activate Laser</button>
<button onClick={sendCred('Engine')}>Activate Engine</button>
</div>
);
};
这是有效的,因为您返回一个具有可供使用的值的函数,并且当单击按钮时,第二个函数以事件作为参数执行。
希望能帮助到你!;)