我在使用帶有打字稿的三元運算子時遇到問題,請檢查代碼以理解我想說的。
`
const QuizQuestionContainer = ({ qa }: QuizQuestionContainerPropsType) => {
const { question, option1, option2, option3, option4 ,checked } = qa;
return (
<>
<h4>{question}</h4>
<form>
<input
type="radio"
value={option1}
name="option"
onClick={checkOption}
{checked === option1 ? "defaultChecked": ""}
/>
);
};
export default QuizQuestionContainer;
`
我收到一個道具“qa”,我從中解構了“checked”值,如果“checked”等于選項,我希望默認檢查輸入,但它會拋出一個錯誤,說“'... ' expected.ts(1005)" 和 "傳播型別只能從物件 types.ts(2698) 創建"
uj5u.com熱心網友回復:
您需要定義要為其提供值的道具名稱!
{檢查===選項1?"defaultChecked": ""} 是一個有效的布林值,但您需要將它分配給一個input道具。也許你正在尋找checked={option1 === "defaultChecked"}?
這可能是由于checked變數與輸入道具具有相同的名稱 - 可能有助于重命名變數以isChecked避免將來出現混淆。
uj5u.com熱心網友回復:
如果您想使用您提到的條件設定道具 defaultCheck,請更改為:
defaultChecked={checked === option1}
uj5u.com熱心網友回復:
我相信您在這里要做的是確定輸入是否被檢查
checked接受布林值(true = 檢查)
改為:
checked={checked === option1}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/510118.html
標籤:html反应打字稿形式
上一篇:如何根據選定的單選按鈕計算總價
