inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] React로 NodeBird SNS 만들기

리액트 렌더링 최적화 관련 질문드립니다.

492

정문채

작성한 질문수 17

0

안녕하세요. 렌더링 최적화 관련해서 질문드립니다.

const [ modalsetModal ] = useState(false);
  const modalOpen = useCallback(
    () => {
      setModal(true);
    }, [modal]
  );
  const modalClose = useCallback(
    () => {
      setModal(false);
    }, [modal]
  )
  return (
    <div>
      <Container>
        <Row>
          <Col sm={12} md={6}>
            <WorkList />
          </Col>
          <Col sm={12} md={6}>
            <BoardList 
              opens={modalOpen}
            />
          </Col>
        </Row>
        <Row>
          <Col sm={12} md={6}>
            <OrderChart />
          </Col>
        </Row>
        <Modal
          show={modal} 
          onHide={modalClose}
          size="lg"
          centered
        >
          <Modal.Header>
            <Modal.Title>test</Modal.Title>
          </Modal.Header>
          <Modal.Body>test</Modal.Body>
          <Modal.Footer>
            <Button variant="secondary" onClick={modalClose}>
              Close
            </Button>
          </Modal.Footer>
        </Modal>
      </Container>
    </div>
 );

위 컴포넌트에서 모달을 띄우는것인데 BoardList 컴포넌트에서 모달을 여는 useState함수를 내려줘서 끌어올리는 방식으로 하려하는데 

저 BoardList 컴포넌트가 재렌더링되고있습니다.

BoardList 컴포넌트는 React.memo를 사용했으나 아무래도 모달을 열때 끌어올려져서 useState가 새로 생성되면서 props가 새로 전달되여 props가 업데이트되어서 BoardList를 재 렌더링하는 현상이 문제인거같은데 이부분을 어떻게 잡으면 좋을까요? 

리렌더링 express 렌더리최적화 리액트 nodejs react redux Next.js

답변 1

0

제로초(조현영)

opens={modalOpen}가 바뀌어서 리렌더링 되는 것인데요. 해당 prop을 부모에서 받는게 아니라 BoardList에서 리덕스같은 글로벌 컨텍스트로 처리해야 할 것 같습니다. props가 전달되는 이상 막기 어렵습니다.

0

정문채

그렇다면 모달 열리고 닫히는 부분도 리덕스나 useReducer 같은 상태관리로 해야 가능하다는 말씀이시군요... 알겠습니다. 감사합니다~

넥스트 버젼 질문

0

78

2

로그인시 401 Unauthorized 오류가 뜹니다

0

89

1

무한 스크롤 중 스크롤 튐 현상

0

175

1

특정 페이지 접근을 막고 싶을 때

0

103

2

createGlobalStyle의 위치와 영향범위

0

96

2

인라인 스타일 리렌더링 관련

0

91

2

vsc 에서 npm init 설치시 오류

0

146

2

nextjs 15버전 사용 가능할까요?

0

158

1

화면 새로고침 문의

0

121

1

RTK에서 draft, state 차이가 있나요?

0

153

2

Next 14 사용해도 될까요?

0

452

1

next, node 버전 / 폴더 구조 질문 드립니다.

0

349

1

url 오류 질문있습니다

0

211

1

ssh xxxxx로 우분투에 들어가려니까 port 22: Connection timed out

0

373

1

sudo certbot --nginx 에러

0

1275

2

Minified React error 콘솔에러 (hydrate)

0

470

1

카카오 공유했을 때 이전에 작성했던 글이 나오는 버그

0

247

1

프론트서버 배포 후 EADDRINUSE에러 발생

0

327

1

npm run build 에러

0

518

1

front 서버 npm run build 중에 발생한 에러들

0

382

1

서버 실행하고 브라우저로 들어갔을때 404에러

0

338

2

css 서버사이드 랜더링이 적용되지 않아서 문의 드립니다.

0

288

1

팔로워 3명씩 불러오고 데이터 합쳐주는걸로 바꾸고 서버요청을 무한으로하고있습니다.

0

239

2

해시태그 검색에서 throttle에 관해 질문있습니다.

0

201

1