当页面呈现时,onClick
以某种方式激活。为什么?
我该如何解决?
import React from 'react';
function Input(props) {
return (
<div className={props.on}>
<div className="input">
<input placeholder="Ask for help... "/>
<button onClick={props.setOn("no")}>Send</button>
</div>
</div>
);
}
export default Input;
最佳答案
这是因为你必须传递一个函数给onClick
。
这里你没有传递一个函数,你传递的是 props.setOn("no")
的结果,它是 undefined
。并且您的函数在呈现时被触发,因为这是评估和传递 button
的 onClick
值的地方,这使您的语句执行。
试试这个:
<button onClick={() => props.setOn("no")}>Send</button>
关于javascript - 为什么我的 onClick 在渲染时激活?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57146878/