채택완료

리액트 데이터 받아올 때 질문

안녕하세여 리액트 + 파이어베이스를 연결하고 데이터를 받아오는 공부를 하고있습니다

function App() {

  const [baseData,setbaseData] = useState([])

  useEffect(()=>{

    readData();

  },[])

  const readData = async()=>{

    //async function readData() {

    const response = db.collection("product");

    const data = await response.get();

    data.docs.forEach(item=>{

      setbaseData([item.data()])

    })

  }

코드는 이런데요 콘솔 찍어보니까 

661742549_1625900821.1375.jpg

이렇게 나오는데 각각 다른 array가 아닌 0다음 1 이렇게 같이 나오게 할려고 하는데 뭘 잘못한걸까요?

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트
setbaseData([...setbaseData,item.data()])
를 foreach문안에 넣으세요.
2021-07-10 (토) 17:14:55

오! 저두 리액트 공부하는데~ 

답변에 대한 댓글 2개

리액트 너무 재밌는데 동기 비동기에 대해서 정말 잘 알아야하는거같아여
리액트!!! 진짜 자스 중급까지 알아야되서.. 뷰랑 너무 다르더군요.. 자스 응용을 잘 알아야되네요..

답변을 작성하려면 로그인이 필요합니다.