잼민이0326
47
2022-05-14 22:51:46
3
135

리액트 API 결과값에 관해서


안녕하세요 

UseEffect 로 api를 받아서 결과값으로 여러가지 이벤트를 만드려 보려고 하는데요.

결과값을 console 로 찍어보면 

6개 가 넘는 결과 값이 나옵니다. 

예를들어서 Korea 라는 값을 얻고 싶어서 api를 통해서 받아오면

undefined , undefined, undefined , undefined , korea ,korea 

이런식으로 6번이 찍히게 됩니다. 

혹시 결과값을 제어하는 방법이 있는지 알고 싶어서 게시판에 글을 씁니다. 


export function GetVolcanoId(prop){
const [volcanoIdserror, setvolcanoIdserror] = useState();
const [volcanoId, setvolcanoId] = useState([]);
const [isLoaded, setIsLoaded] = useState(false);
useEffect(() => {
fetch(`api/${prop}`)
.then(res => res.json())
.then(
(result) => {
setIsLoaded(true);
setvolcanoId(result);
},
(error) => {
setIsLoaded(true);
setvolcanoIdserror(error);
}
)
}, []);
return (
volcanoId
);
}
0
  • 답변 3

  • LeeEugene1
    29
    2022-05-14 23:46:19

    제가 알고있는 해결방법이라면

    1. &&연산자를이용하여 데이터가있을때만나오게하기

    2. serversideprops

    3. ssr

  • 잼민이0326
    47
    2022-05-14 23:59:31

    답변감사합니다:) 시도 해보도록 할게요

  • 잼민이0326
    47
    2022-05-17 20:00:38

    LeeEugene1 안녕하세요, 제가 연산자를 통해서 잘못된 값은 수정을 했는데,

    연속적으로 두번에 값이 나오는것은 해결을 못했습니다. 


    하나의 값만 받기 위해서는 어떻게 해야하나요? 

    제가 구글맵에 위치를 찍고 싶은데 값이 한번 들어오고 나중에 다시 들어와서 

    구글맵이 오류가 나옵니다. 


  • 로그인을 하시면 답변을 등록할 수 있습니다.