REturn 0;

useEffect로 useParams에 해당하는 정보를 습득하고 오류 해결 본문

해커톤

useEffect로 useParams에 해당하는 정보를 습득하고 오류 해결

zza.___.lng 2023. 8. 22. 15:19
  const { id } = useParams();
  const [data, setData] = useState();
  
  useEffect(() => {
    const fetchData = async () => {
      const response = await getChat(id);
      setData(response.data);
    };
    fetchData();
  }, [id]);
  
  if (!data) {
    return null;
  }

1. useParams()

  • 현재 라우팅된 url에 파라미터 값을 id에 저장 

2. useEffect()

  • id 값이 변경될 때마다 해당 id와 일치한 데이터를 getChat(id)함수를 통해 데이터를 전달받는 fetchData함수를 실행

3. if (!data) { return: null; }

  • 위에서 데이터를 가져올 때 async, await을 사용하고 있기 때문에 데이터를 전달 받는데에 시간이 걸린다.
  • 데이터를 받기 전에 컴포넌트가 먼저 렌더링 되면 오류 발생
  • 데이터가 없다면 컴포넌트가 null을 반환하도록해서 오류 해결