Javascript 为什么我的onClick在渲染时会激活?
当页面呈现时,Javascript 为什么我的onClick在渲染时会激活?,javascript,reactjs,events,Javascript,Reactjs,Events,当页面呈现时,onClick会以某种方式激活。为什么? 我怎样才能修好它 import React from 'react'; function Input(props) { return ( <div className={props.on}> <div className="input"> <input placeholder="Ask for help... "/> <button onClic
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;
从“React”导入React;
功能输入(道具){
返回(
邮寄
);
}
导出默认输入;
这是因为您必须在单击时将函数传递给onClick
这里不是传递函数,而是传递props.setOn(“no”)
的结果,它是未定义的。在渲染时会触发函数,因为在渲染时会计算并传递按钮的onClick
值,从而执行语句
请尝试以下方法:
<button onClick={() => props.setOn("no")}>Send</button>
props.setOn(“no”)}>Send
这是因为您必须在单击时将函数传递给onClick
这里不是传递函数,而是传递props.setOn(“no”)
的结果,它是未定义的。在渲染时会触发函数,因为在渲染时会计算并传递按钮的onClick
值,从而执行语句
请尝试以下方法:
<button onClick={() => props.setOn("no")}>Send</button>
props.setOn(“no”)}>Send
您需要像这样调用click事件onClick={()=>props.setOn(“no”)}
而不是
Input(props) {
return (
<div className={props.on}>
<div className="input">
<input placeholder="Ask for help... "/>
<button onClick={() => props.setOn("no")}>Send</button>
</div>
</div>
);
}
输入(道具){
返回(
props.setOn(“no”)}>Send
);
}
您需要像这样调用click事件onClick={()=>props.setOn(“no”)}
而不是
Input(props) {
return (
<div className={props.on}>
<div className="input">
<input placeholder="Ask for help... "/>
<button onClick={() => props.setOn("no")}>Send</button>
</div>
</div>
);
}
输入(道具){
返回(
props.setOn(“no”)}>Send
);
}
您正在执行函数并将其返回的内容分配给onClick事件句柄您正在执行函数并将其返回的内容分配给onClick事件句柄谢谢!我通过道具传递了家长的useState,我想在单击按钮时更改它。如何实现它?如果没有完整的代码,很难正确回答,但一种方法是在Input
上有一个名为likeonSend
的道具,您可以这样将它传递到按钮Send
。你的父母通过它应该像setOn(“no”)}>
我发现了这个问题!谢谢你的耐心和时间!非常感谢。我通过道具传递了家长的useState,我想在单击按钮时更改它。如何实现它?如果没有完整的代码,很难正确回答,但一种方法是在Input
上有一个名为likeonSend
的道具,您可以这样将它传递到按钮Send
。你的父母通过它应该像setOn(“no”)}>
我发现了这个问题!谢谢你的耐心和时间!