【发布时间】:2020-11-21 05:16:06
【问题描述】:
我试图让 onClick() 函数对每个按钮都有效(结果相同),但到目前为止 onClick() 只有效一次。
如果我再次单击按钮(相同或不同),弹出窗口将不再起作用。
你能帮忙吗?我不知道如何解决它。
function Challange() {
const [isPopped, setPop] = useState(false);
const pop = () => {
setPop(true);
};
return (
<>
{isPopped && <Dialog2 />}
<div className="challanges">
<h1 className="newchallenge">Choose New Challange</h1>
<button className="challangeBtn" onClick={pop}>
Eat Vegetarian (31days)
</button>
<button className="challangeBtn" onClick={pop}>
Take the bike to work (14days)
</button>
<button className="challangeBtn" onClick={pop}>
Recycle your plastic bottles (31days)
</button>
<button className="challangeBtn" onClick={pop}>
Use public transport to commute (31days)
</button>
<button className="challangeBtn" onClick={pop}>
Don't fly an airplane (365days)
</button>
</div>
</>
);
}
export default Challange;
【问题讨论】:
-
你有没有打电话给
setPop(false)?在您提供的代码中,它仅以一种方式发生,因此一旦将其设置为 true,它将永远保持为 true,因此任何后续点击都不会改变任何内容。
标签: javascript reactjs onclick