• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 서버에서 데이터 받아오는 질문 드립니다!

서버에서 데이터 받아오는 질문 드립니다!

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #8948

    최봉수
    참가자

    import React, {useEffect, useState} from 'react';
    import {dbService} from '../fbase.js'

    function Info(props){

    const [info, setInfo] = useState([]);

    const getInfo = async () =>{
    const dbinfo = await dbService.collection("UKOV").get();
    dbinfo.forEach((document) => {
    const newInfo = {
    ...document.data(),
    id: document.id
    };
    setInfo([newInfo])
    });
    };
    useEffect(()=>{
    getInfo();
    }, [])

    return (
    <>
    {info.year}
    </>
    )
    }

     

     

     

     

    안녕하세요! 우선 사진 첨부가 안돼서 조금 더럽게 코드를 붙여넣기 했습니다 ㅠㅠ

     

    저번에 firebase사용해보라는 답변 듣고 firebase사용해서 구축하고 있습니다.

     

    UKOV라는 데이터를 받아와서 info에 넣고 info에서 데이터를 빼오고 싶었는데 안되네요 ㅠㅠ

     

    내부에는 year이라는 값이 있구요

     

    console.log(info)찍어보면 처음에 빈 어레이가 반환되고 그 다음에 정보 가 담겨있는 어레이가 반환됩니다. (아마 useEffect 사용으로 그렇게 되지 않나 생각됩니다.)

     

    그리고 나서 info.year / info[0].year하면 다 안나옵니다. ㅠㅠ 그런데 map함수를 사용하면 반환되긴 하는데 info라는 데이터를 여기저기 넣어주려해서 거기마다 map함수 사용하면 코드가 조금 더럽게 나오는 것 같아서 다른 방법을 찾아보려 합니다(그리고 여러개의 데이터를 가져오는게 아니라 year: 12이런 식으로 하나의 데이터만 가져오고 싶은 것도 있습니다.)

    혹시 이럴 때는 어떻게 해결해야하는지 알 수 있을까요? ㅠㅠ 

     

    감사합니다!

    #8953

    codingapple
    키 마스터

    getInfo 함수 안에서 데이터가 잘 출력안되는건 db에서 데이터 빼는 코드가 잘못된 것입니다 

    map으로는 되고 info.year 이러면 안되는건 자료 다룰 때 뭔가 이상해져서 그렇습니다 

    가져온게 array 자료인지 그냥 문자인지,

    그걸 state로 array형식으로 저장하고 싶을 때 어떻게 해야하는지 다시 확인해야합니다 

    일반적으로 forEach안에 변수선언은 하지 않아서 저게 이상해보입니다 

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠