인프런 커뮤니티 질문&답변

Jiyeol Lee님의 프로필 이미지

작성한 질문수

React로 NodeBird SNS 만들기

antd Card.Meta avatar 새로고침 시 글자 이동하는 문제(SSR 관련)

작성

·

331

0

이 질문은 말로 설명하기가 어려워서 아예 영상을 촬영했습니다. 파트 7 서버사이드 렌더링쪽 강의 듣고 있고요. SSR은 잘 되는데 
프로필 Card에 avatar(닉네임 첫글자 나오는 부분)이 새로고침하면 가장자리에 있다가 중앙으로 오게되는데

제 수준에서 이게 어떤게 원인일지 가늠이 안됩니다. 브라우저 상에서 css가 적용되기 전에 ssr로 먼저 데이터를 세팅해주게 되면서 생기는 문제인가요? 어떻게 해결할 수 있을까요?

답변 5

0

Jiyeol Lee님의 프로필 이미지
Jiyeol Lee
질문자

transform 코드 없애면 우측으로 쏠리고요. 말씀하신대로 마운트되고나서 transform이 적용되는건 맞겠네요. 저부분 관련된 소스코드는 제로초님과 다를건 없을겁니다. antd 내부 코드를 수정하지 않는 이상 해결이 안 되려나요.. 일단 핵심적인 부분은 아니라 넘어가려 합니다. 새로운 해결책을 알게 되시면 알려주세요!

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

일단 저도 노드버드에 수정 한 번 해보겠습니다.

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

혹시 소스코드는 제 코드 그대로 하셨나요? antd 내부 코드상 mounted 전에는 opacity가 0이었다가 mounted된 후에 opacity가 사라지고 transform이 적용돼서 화면에 보여야 하는지라 저렇게 우측으로 쏠리는 현상의 원인을 정확히 모르겠네요. 이 부분은 그리고 antd 자체로는 해결할 수 없어보입니다.

0

Jiyeol Lee님의 프로필 이미지
Jiyeol Lee
질문자

Avatar 컴포넌트가 애초에 span으로 되있어서 그런 것 같은데... 말씀하신대로 해줘도 안 되네요.

글자를 담고 있는 태그 style에서 transfrom 스타일 없애고 말씀하신대로 textAlign center Avatar에 적용해도 중앙으로 정렬이 안됩니다.

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

이 현상은 저도 알고 있는데요. 확인해본 결과 SSR시에는 style="transform:translateX(-50%)"가 빠져서 렌더링되네요. 아마 componentDidMount 후에 style을 세팅하는 것으로 보입니다. 간단한 해결 방법은

Avatar에 style={{ textAlign: 'center' }}를 넣어주는 것입니다.