反应火力基地不等待



我想从firebase获取数据并将其映射并呈现一个表,但firebase函数在页面加载后返回数据。

const [datas, setData] = useState();
var ref = db.ref("something");

useEffect(() => {
const fetchData = async () => {
await ref.once("value").then((snapshot) => {
const fetched = snapshot.val();
var feed = {'name':'shoe','remark':'remarka','price':'pricea','photo':'photo','amount':'350'};
console.log('fetched', fetched)
setData(feed);
}); 
};
fetchData();
}, []);

如果我在这里创建一个变量我们写入var text= dataconsole。log它会返回undefinedfeed变量只是一些伪文本

{dummy.map((data, key) => {
//render table
})

是否有办法让页面等待函数完成useState ?

使用AND操作符(&&),仅当左操作数为真时才执行右操作数。没有必要创建一个名为dummy的变量。

{
datas && datas.map(data=>{
console.log(data);
});
}

最新更新