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

react 데이터 렌더링 문제 채택완료

dkdh12 2년 전 조회 1,920

homt.tsx에 CommonSlider 컴포넌트의 데이터가 화면에 렌더링이 안됩니다ㅜㅜ 콘솔로 확인하니까 데이터는 잘받아옵니다 왜 렌더링이 안되는걸까요ㅜㅜㅜ?

 

https://github.com/beom-jun-kim/beeflix

깃헙 주소입니다..

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

답변 2개

채택된 답변
+20 포인트
2년 전

src/Components/commonSlider.tsx

</p>

<p>//function CommonSlider(moviesData: any, offset: number, text: string) {</p>

<p>function CommonSlider(moviesDataSet: any) {</p>

<p>  const moviesData = moviesDataSet.moviesData;</p>

<p>  const offset = moviesDataSet.offset;</p>

<p>  const text = moviesDataSet.text;</p>

<p> </p>

<p>  console.log("moviesData:", moviesData);</p>

<p> </p>

<p>  const navigate = useNavigate();</p>

<p>  const matchModalBox = useMatch("movies/:movieId");</p>

<p>  const { scrollY } = useScroll();</p>

<p>  ...</p>

<p>

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

답변에 대한 댓글 1개

d
dkdh12
2년 전
와 감사합니다 prop으로 넘겨준 것들을 중괄호로 감싸거나 님처럼 moviesDataSet로 접근 후 만들어주는 방법도 있었네요 ㅜㅜ

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

React에서 데이터가 화면에 렌더링되지 않는 경우에는 다양한 이유가 있을 수 있으므로 다음 사항들을 체크해 보시는게 어떨까 합니다.

 

컴포넌트 구조 확인: homt.tsx 파일에서 CommonSlider 컴포넌트가 정확한 위치에 렌더링되고 있는지 확인.

</p>

<p>import React from 'react';

import CommonSlider from './CommonSlider';</p>

<p>function Home() {

  return (

    <div>

      {/* 다른 컴포넌트들 */}

      <CommonSlider data={yourData} />

      {/* 다른 컴포넌트들 */}

    </div>

  );

}</p>

<p>export default Home;

 

Props 확인: CommonSlider 컴포넌트로 데이터를 전달하는 부분을 확인. data 프로퍼티가 정확하게 전달되었는지 확인.

 

CommonSlider 컴포넌트 확인: CommonSlider 컴포넌트 내부에서 data를 어떻게 렌더링하는지 확인. 데이터가 올바르게 처리되고 있는지 확인.

예를 들어, map 함수를 사용하여 데이터를 렌더링하는 경우, 데이터를 올바르게 매핑하고 있는지 확인

 

상태 및 상태 업데이트: 데이터가 변경되면 화면을 다시 렌더링하려면 React 상태나 상태 업데이트를 사용해야 할 수 있음. 상태가 업데이트되었는지 확인하고, 필요한 경우 setState나 상태 훅을 사용하여 화면을 다시 렌더링 해보세요

 

렌더링 조건 확인: 데이터 렌더링을 제어하는 조건문을 사용하고 있는 경우, 조건문이 올바르게 작동하는지 확인하세요.

 

에러 처리: 화면에 렌더링되지 않는 경우, 브라우저 콘솔에서 에러 메시지를 확인하세요. 에러 메시지가 있는 경우 해당 부분을 수정해야 합니다.

 

리렌더링 최적화: 성능 이슈로 인해 화면이 렌더링되지 않는 경우, React의 최적화 기술 중 하나인 memo나 useMemo를 사용하여 리렌더링을 최적화할 수 있습니다.

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

답변에 대한 댓글 1개

d
dkdh12
2년 전
댓글 감사합니다

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

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

로그인