【发布时间】:2022-01-11 16:15:24
【问题描述】:
我的useEffect方法是:
useEffect(() => {
async function getRoomDetails(){
const db = getFirestore();
const querySnapshot = await getDocs(collection(db, "rooms"));
querySnapshot.forEach((doc)=>{
console.log('Document');
console.log(doc.id);
console.log(doc.data().name);
var channelNameData = doc.data().name;
})
}
async function getRoomMessages() {
const db = getFirestore();
const roomMessages =
roomId &&
query(
collection(db, "rooms", roomId, "messages"),
orderBy("timestamp", "asc")
);
const querySnapShot = await getDocs(roomMessages);
querySnapShot.forEach((doc) => {
console.log(doc.id, "=>", doc.data());
});
}
getRoomDetails();
getRoomMessages();
}, []);
我想将channelNameData 传递给 ChatInput,如
<ChatInput
channelName={channelNameData}
channelId={roomId}
/>
我该怎么做?我还想避免从内部分配给“channelNameData”变量 每次渲染错误后,React Hook useEffect 都会丢失。
【问题讨论】:
标签: javascript reactjs firebase-realtime-database react-hooks