javascript - 传递给 onClick 的函数没有完全执行
问题描述
我有一个传递给onClick
事件的函数,但它不执行setDisable()
以下代码块中的函数:
let [answerClicked, setAnswerClicked] = React.useState()
let [disable, setDisable] = React.useState(true)
const onNextChange = () =>{
if(questionNumber < 9 && disable === false){
setQuestionNumber((questionNumber) => questionNumber + 1)
setAnswer((answer) => answer.concat(answerClicked))
}
}
const getTargetHtml = e => {
const {target:{outerText}} = e
const answer = outerText
answerClicked = {questionId, answer}
setAnswerClicked(answerClicked)
setDisable(false)
}
return(
<div className='friendeval'>
<h2 className='friendeval__header'>Friend Evaluation</h2>
<div className='friendeval__question-count'>Question {friendEvalData[questionNumber].questionId}/10</div>
<div className='align'>
<img className='friendeval__image'alt='' src={friendEvalData[questionNumber].image}/>
</div>
<div className='friendeval__question'>{friendEvalData[questionNumber].question}</div>
<div className="friendeval__buttons">
{
options.map(option => <button disabled={disable} onClick={getTargetHtml}>{option}</button>)
}
</div>
<div className="friendeval__nav">
<button onClick={onNextChange}>Next</button>
</div>
</div>
)
一切正常,但setDisable
我试图让disable
变量切换到false
任何时候我点击允许我使用onNextChange
处理程序的按钮的功能
解决方案
const getTargetHtml = e => {
//your code
}
<button onClick={getTargetHtml} />
这应该可以解决错误。
推荐阅读
- apache-spark - kafka-consumer-groups 命令不显示火花结构化流应用程序(消费者)的 LAG 和 CURRENT-OFFSET
- prometheus - 由于 Istio-sidecar 路由失败,无法从 Prometheus 访问 Alertmanagers Endpoint
- api-platform.com - 在没有任何路线的情况下公开模型
- spring - springdoc-openapi:当枚举来自生成的代码时,发布枚举作为参考
- javascript - 基于另一个对象递归更新特定键的嵌套对象值
- common-lisp - 以编程方式加载 Common Lisp 模块
- c# - 需要帮助修复这个跳跃缓冲区(问题:玩家偶尔会双跳)
- sql - SQL Server:根据同一列中的不同数据过滤掉结果
- elasticsearch - ElasticSearch 聚合返回整个子对象,而不仅仅是键
- android-studio - Flutter App:背景不会从黑色变为蓝绿色