我試圖在“if”語句中設置變量“list”,然后通過useState更新數據,但如果我在“if”語句之外寫入setData,則表明變量“list”未定義,因此我必須重寫“if”和“else”語句內的所有代碼(這是不可取的)
const [data, setData] = useState({
name: "",
email: "",
machinetype: [],
});
const handleInputChange = (event) => {
if (event.target.name === "machinetype") {
const chck = event.target.checked;
if (chck) {
const list = data[event.target.name].concat([event.target.value]);
} else {
const index = data[event.target.name].indexOf(event.target.value);
const remove = data[event.target.name].splice(index, 1);
const list = data[event.target.name];
}
setData({
...data,
[event.target.name]: list,
});
}
};
有什么建議嗎?謝謝
if語句中聲明的變量保持在if語句的范圍內。因此,當指針離開if塊時,變量被釋放。
你所需要做的就是