Reactjs 如何使用firebase的数据结果在阵列中发布
这是我第一次使用Firestore。当我添加“按日期筛选”时,我无法从firestore获取数据,当我将其放入表中时,请获取以下信息: console.log(状态)附件: console.log(状态[0])附件: 如何使用状态的结果在数组中发布Reactjs 如何使用firebase的数据结果在阵列中发布,reactjs,firebase,Reactjs,Firebase,这是我第一次使用Firestore。当我添加“按日期筛选”时,我无法从firestore获取数据,当我将其放入表中时,请获取以下信息: console.log(状态)附件: console.log(状态[0])附件: 如何使用状态的结果在数组中发布 export default function TableList() { const { currentUser, logout } = useAuth() const classes = useStyles(); const [
export default function TableList() {
const { currentUser, logout } = useAuth()
const classes = useStyles();
const [state, setstate] = useState([])
useEffect(() => {
var users = [];
db.collection("users")
.get()
.then((snapshot) => {
snapshot.forEach((doc) => {
const data = doc.data();
users.push(data);
});
});
setstate(users);
}, []);
console.log(state[0])
return (
<GridContainer>
<GridItem xs={12} sm={12} md={12}>
</GridItem>
<GridItem xs={12} sm={12} md={12}>
<Card plain>
<CardBody>
<Table
tableHeaderColor="primary"
tableHead={["ID", "Name", "Country", "City", "Salary"]}
tableData={[["1", "Dakota Rice", "$36,738", "Niger", "Oud-Turnhout"],["2", "Minerva Hooper", "$23,789", "Curaçao", "Sinaai-Waas"]]}
/>
</CardBody>
</Card>
</GridItem>
</GridContainer>
);
}
导出默认函数TableList(){
const{currentUser,logout}=useAuth()
const classes=useStyles();
const[state,setstate]=useState([])
useffect(()=>{
var用户=[];
数据库收集(“用户”)
.get()
。然后((快照)=>{
snapshot.forEach((doc)=>{
const data=doc.data();
推送(数据);
});
});
设置状态(用户);
}, []);
console.log(状态[0])
返回(
);
}
使用时,请确保更改其内部的状态。否则,您将使用空数组更改状态
useffect(()=>{
数据库收集(“用户”)
.get()
。然后((快照)=>{
//坎格
var用户=[];
snapshot.forEach((doc)=>{
const data=doc.data();
推送(数据);
});
//改变
设置状态(用户);
});
}, []);
代码是异步的,因此当您使用时,
中的代码将在将来的某个地方发生,但您的其余代码将立即执行,因此您的设置状态
是在之前执行的,然后
。因为你的状态是空的。通过将设置状态
放在内,然后
将在实际有数据时更改状态