테스트 사이트 - 개발 중인 베타 버전입니다

리액트 데이터 받아올 때 질문 채택완료

루2 4년 전 조회 1,739

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

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()])

    })

  }

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

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

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

답변 2개

채택된 답변
+20 포인트
핑크빈
4년 전
setbaseData([...setbaseData,item.data()])
를 foreach문안에 넣으세요.
로그인 후 평가할 수 있습니다

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

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

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

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

로그인