【发布时间】:2020-02-15 09:23:20
【问题描述】:
在这里不知所措。我已经尝试了很多变体,但基本上我试图将 uploadRefId 的状态设置为创建新集合后返回的 id。我可以看到 id 是通过 console.log 生成的,但是 setState 函数似乎在这个承诺的范围内不起作用(uploadRefId 为 null)?
const [uploadRefId, setUploadRefId] = React.useState(null);
let uploadRefCol = await firestore.collection("uploads");
await uploadRefCol.add(uploadData)
.then( (uploadDataRef) => {
console.log('uploadDataRef.id: ', uploadDataRef.id);
setUploadRefId(uploadDataRef.id);
console.log('uploadRefId', uploadRefId);
})
.catch( (error) => {
console.log('Error!', error)
});
【问题讨论】:
-
你能在外面试试第二个控制台语句看看吗? ` React.useEffect(() => console.log('uploadRefId', uploadRefId), [uploadRefId]);`
标签: javascript reactjs firebase google-cloud-firestore