我正在尝试触发reactjs组件中的click事件,但它无法正常工作。我在div
,ul
,li
甚至是按钮中尝试过此操作失败。我有一个演示here
我看过this question,但问题不是我面临的问题,可以在上面的演示中看到
答案 0 :(得分:2)
onClick
接受为函数,将被写为
<button onClick={() => {console.log("Hi")}}>Hello</button>
或
handleClick() {
console.log('Hi');
}
<button onClick={this.handleClick}>Hello</button>
而不是
<button onClick={console.log("Hi")}>Hello</button>
如果您撰写onClick={console.log("Hi")}
,则会在每个render
上评估onClick
的值,因此Hi
上会显示console
答案 1 :(得分:1)
您应该在事件处理程序中提供一个函数,而不是调用该函数。参见:
import React from "react";
import { render } from "react-dom";
const App = () => (
<div>
<div>
<button onClick={() => {console.log("Hi")}}>Hello</button>
</div>
</div>
);
render(<App />, document.getElementById("root"));