inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

inline style 관련

285

rrr

작성한 질문수 2

0

인라인 스타일 정의시 새로운 객체로 인식하여 리렌더링이 계속되는 문제가 있어서

인라인 스타일을 지양하고 styled-components나 usememo를 쓰라고 하셨는데요

여기서 갑자기 헷갈리는 질문이 생겼어요

객체의 레퍼런스 값이 바뀌어야 리렌더링이 되는 걸로 알고 있는데 (불변성)

스타일 객체의 속성이 바뀌면 어떻게 알아채고 리렌더링을 하나요.

cosnt style = useMemo(() => ({ marginTop: 10; }), []);

or

cosnt style = { marginTop: 10; };

react nodejs express redux Next.js

답변 1

0

제로초(조현영)

스타일 객체의 속성이 어떨 때 바뀌나요?

0

rrr

스타일의 내용이 바뀐 경우를 상상하며 질문을 했는데요.. 

질문하면서 아래처럼 정리가 되었는데.. 맞다면 제가 쓸데없는 질문을 한 셈이네요. 죄송합니다;;

1. state가 변경되면 리렌더링이 되고 그때마다

1.1. 만약 인라인 스타일로 정의되었다면 그부분이 새로운 객체로 인식되어 virtualDOM이 달라진부분으로 인식하고 리렌더링을 한다.

1.2. styled-components나 usememo를 썼다면 값을 캐싱하여 해당 부분은 리렌더링하지 않는다.

2. style의 내용자체가 변경됐을 때는 refresh를 하여 초기 렌더링을 하는 거니까 (리렌더링이 아닌) 리렌더링 과정과 관계없다 

0

제로초(조현영)

네 맞습니다. 속성이 바뀌는 경우는 속성이 props나 state 값인 경우가 그럴 수 있는데 이 때도 어차피 props나 state가 바뀐 것이므로 리렌더링이 일어납니다.

넥스트 버젼 질문

0

90

2

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

0

104

1

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

0

192

1

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

0

116

2

createGlobalStyle의 위치와 영향범위

0

102

2

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

0

97

2

vsc 에서 npm init 설치시 오류

0

157

2

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

0

166

1

화면 새로고침 문의

0

129

1

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

0

160

2

Next 14 사용해도 될까요?

0

455

1

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

0

359

1

url 오류 질문있습니다

0

214

1

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

0

391

1

sudo certbot --nginx 에러

0

1293

2

Minified React error 콘솔에러 (hydrate)

0

477

1

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

0

255

1

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

0

337

1

npm run build 에러

0

525

1

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

0

398

1

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

0

350

2

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

0

290

1

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

0

249

2

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

0

206

1