javascript - 传递的 id 未定义,错误 400(错误请求)
问题描述
我想在回答完谜题后把它去掉,这样登录的用户就不能不断地回答同一个谜题,问题是当它通过id时,这些id是未定义的。我不知道我在哪里犯了错误,这是我的一段代码。他在控制台收到的错误 Error: DELETE http://api / Remove / undefined 400 (Bad Request)
state={
qBank:[{id:1,question:'dd',answers:['a','b','c','d'],correct:'a'}]
}
使成为:
this.state.qBank.map(
({ question, answers, correct, id }) => (
<QuestionBox key={id} id={id} question={question} options={answers} selected={answer => this.computeAnswer(answer, correct)} />
)
)}
问题框:
const QuestionBox = ({ question, options, selected, key, id }) => {
const [answer, setAnswer] = useState(options);
const [alreadyAnswered, setAlreadyAnswered] = useState(false);
return (
<div className="questionBox">
<div className="question">{question}</div>
{(answer || []).map((text, index) => (
<button disabled={alreadyAnswered} key={index} className="answerBtn" onClick={(id) => {
if (!alreadyAnswered) {
setAnswer([text]);
selected(text);
setAlreadyAnswered(true);
fetch("http:/api/Remove/" + id, {
method: 'DELETE',
headers: {
"Content-Type": "application/json",
"Authorization": `bearer ${sessionStorage.getItem("access_token")}`
},
}).then(() => {
}).catch(err => {
console.error(err)
})
}
}}>{text}</button>
))}
</div>
)
}
解决方案
推荐阅读
- python - Python:使 lib 使用重新定义的类
- javascript - 同步加载外部 HTML 文件
- ansible - 评估 Ansible 标准输出以结束输出
- android - Delphi 10.3 Android 9 将下载的数据保存到共享下载文件夹
- angular - NPM安装角度cli卡住
- java - 通过 Linux 命令行的 Java 和包
- c# - 避免在 LINQ 查询中使用内部 .ToList()?
- r - 将 ggplot 应用于多个列并保存多个图形输出
- mysql - MySQL 错误 29. SQL 未使用正确的文件路径
- c++ - 确定从无符号整数中减去是否会翻转