Closed euny0ung closed 2 years ago
왜 이렇게 동작하는지 자세히는 모르겠는데 제 코드랑 비교해보면서 조금씩 고쳐보고 찾았습니다. const [apiList, setAPIList] = useState({ fields: [] }); 이렇게만 바꾸어주면 해결됩니다. 자세한 동작 방식은 모르겠지만 아마 객체배열 안에 객체배열이 있어서 이렇게 받아줘야 하는게 아닐까 라는 생각입니다.(아닐수도 있습니다) 저도 다른부분 api적용할 때 이렇게 해야 정상적으로 잘 받아오더라구요.
추가적으로 useState를 이용해서 만들면 비동기로 해도 잘 작동하는 이유는 state값이 변화되면서 state와 연관된 컴포넌트들이 재랜더링되어서 그렇습니다. 한마디로 처음에는 아무것도 없었다가 api값이 불러와지고 state값이 변경되면 컨텐츠 부분을 다시 랜더링하고 화면에 출력되게 됩니다.
수정하시고 PR할 때 디버깅으로 사용하셨던 console.log 같은것도 지워주시고 PR해주세요!
추가로 연구분야 url을 researchfield -> field로 바꾸셨더라구요. 메뉴나 서브메뉴 같이 navigate함수 사용되는 부분 모두 field로 바꿔주세요.
저도 수인이랑 같은 방법으로 해결했어요.
또, url 부분도 발견했는데 수인이가 댓글로 잘 써놨네요!
정말 감사합니다!!! 몇주째 해결 못하고 있던건데 바로 해결됐네요. 나머지 수정해서 PR하겠습니다.
📒 이슈 내용
📑 상세 내용
✔️ 체크리스트