Javascript 记录数据但不呈现p标记,为什么?
我正在使用firebase firestore并获取数据,一切正常,但当我将其传递给某个组件时,只传递了一项,但日志正确显示了所有元素。 我刚刚开始学习react,非常感谢您的帮助Javascript 记录数据但不呈现p标记,为什么?,javascript,reactjs,Javascript,Reactjs,我正在使用firebase firestore并获取数据,一切正常,但当我将其传递给某个组件时,只传递了一项,但日志正确显示了所有元素。 我刚刚开始学习react,非常感谢您的帮助 import React, { useEffect, useState } from 'react' import { auth, provider, db } from './firebase'; import DataCard from './DataCard' function Explore() {
import React, { useEffect, useState } from 'react'
import { auth, provider, db } from './firebase';
import DataCard from './DataCard'
function Explore() {
const [equipmentList, setEquipments] = useState([]);
const fetchData = async () => {
const res = db.collection('Available');
const data = await res.get();
data.docs.forEach(item => {
setEquipments([...equipmentList, item.data()]);
})
}
useEffect(() => {
fetchData();
}, [])
equipmentList.forEach(item => {
//console.log(item.description);
})
const dataJSX =
<>
{
equipmentList.map(eq => (
<div key={eq.uid}>
{console.log(eq.equipment)}
<p>{eq.equipment}</p>
</div>
))
}
</>
return (
<>
{dataJSX}
</>
)
}
export default Explore
import React,{useffect,useState}来自“React”
从“/firebase”导入{auth,provider,db};
从“./DataCard”导入数据卡
函数Explore(){
const[equipmentList,setEquipments]=useState([]);
const fetchData=async()=>{
const res=db.collection(“可用”);
const data=wait res.get();
data.docs.forEach(项目=>{
设置设备([…设备列表,item.data()]);
})
}
useffect(()=>{
fetchData();
}, [])
设备列表。forEach(项目=>{
//控制台日志(项目描述);
})
常数dataJSX=
{
设备列表图(等式=>(
{console.log(eq.device)}
{eq.设备}
))
}
返回(
{dataJSX}
)
}
导出默认浏览
将获取的数据设置为状态时遇到问题
在准备数据时,您需要调用一次setEquipments
,因为您总是使用初始数组加上forEach中的一项来擦除数据
设置设备的正确代码为
const fetchData = async () => {
const res = db.collection('Available');
const data = await res.get();
setEquipments(data.docs.map(item => item.data()))
}
您在将提取的数据设置为状态时遇到问题 在准备数据时,您需要调用一次
setEquipments
,因为您总是使用初始数组加上forEach中的一项来擦除数据
设置设备的正确代码为
const fetchData = async () => {
const res = db.collection('Available');
const data = await res.get();
setEquipments(data.docs.map(item => item.data()))
}
非常感谢你的工作:)太好了。很高兴帮助你。非常感谢你的帮助:)太好了。很高兴帮助你。