我遇到了这个错误:
<块引用>类型错误:无法读取未定义的属性“0”
它说 const id = data[0];
是导致错误的原因。
我的数据存储在 location.state 中,因为它取自上一页的一行。并且数据存储为数组。
这是 JSON 对象中的数据:
[
"DgduuIHAf1wc2txlaK86",
"Item1",
];
这些是代码:
const Edit = () => {
const location = useLocation();
const data = location.state;
const id = data[0];
const [productName, setProductName] = useState(data[1]);
const handleSubmit = async (event) => {
event.preventDefault();
try {;
const Ref = firestore.collection("products").doc(id);
const res = Ref.set(
{
productName,
},
{ merge: true }
);
alert("Successfully updated");
} catch (err) {
console.log(err);
}
};
return (
<div>
<Container>
<form onSubmit={handleSubmit}>
<FormControl>
<TextField
id="input"
margin="dense"
type="text"
label="Product Name"
value={productName}
color="secondary"
fullWidth
onChange={(e) => setProductName(e.target.value)}
/>
<Button
type="submit"
>
Update
</Button>
</FormControl>
</form>
</Container>
</div>
);
};
export default Edit;
它确实保存了我在 firestore 中这些字段中的任何输入,但是,在提交后,它会显示此错误:我该如何解决?
<块引用>类型错误:无法读取未定义的属性“0”
答案 0 :(得分:0)
可能 .. = location.state;
返回 undefined。