성능 이슈 관련해서 문의드려요
251
작성한 질문수 75
강사님 안녕하세요.
강사님 강의가 좋아서 몇 번을 돌려보고 있는 지 모르겠습니다. 좀 더 실무에 활용할 수 있는 리액트 두번째 강의도 만들어 주시면 안될지요? ㅎㅎ
오늘은 강의에서 적용하셨던 Antd 의 다양한 요소를 함께 적용해 보고 있는데요.
Antd 의 Form 에 다양한 요소들(Input, Select, Radio 등) 을 담아서 양식 등록하는 화면을 만들어 보고 있습니다.
만약 Form 안에 많은 항목들이 담긴 양식을 하나 개발한다고 가정해보겠습니다.
양식의 모든 요소들은 Redux 를 사용하여, 강의님이 설명해주신 dispatch(SetValue(...)) 와 useSelector 를 사용하여 연동을 시키구요..
이럴 경우, form 의 한 가지 요소만 값이 변경해도 양식 전체의 가상돔이 리렌더링이 발생할 듯 한데요..
혹시 양식의 요소가 많아질 경우, 양식을 하나의 컴포넌트가 아닌 여러개의 컴포넌트로 분리시키는 것이 중요할 지 궁금합니다.
(한번에 저장되는 양식이라 할지라도)
쪼갠 컴포넌트들이 재활용 가능성이 전혀 없는 Component 라 할지라도 성능을 고려하여 state 의 변화에 따른 렌더링의 범위를 줄이기 위해 하나의 양식 컴포넌트를 여러 개로 쪼개야만 하는 것인지.. 이런 부분들이 공부하면서 어려운 점이네요..
조언을 부탁드리겠습니다.
답변 3
0
저도 적절한 단위로 쪼개고 싶은데 "상품 등록" 같은 페이지를 구성할 때, 입력해야 하는 항목이 50개가 있다고 가정할 경우,
주제 단위로 컴포넌트로 나눠놓았더니 "저장" 이벤트 시점에 모든 항목들의 Validation 을 처리하기가 어렵더군요.
컴포넌트가 여러 곳에 나눠져 있으니 개별적으로 접근해서 체크하기가 쉽지가 않았습니다.
혹시 이럴 경우, 여러개로 쪼개진 컴포넌트의 값들을 Redux 로 한군데 모아서 Validation 처리를
fetchSaveMenu 같은 Saga 함수 내에서 처리를 해야할까요?
0
아리마님 안녕하세요
강의에서도 언급했지만 기본적으로 미리 성능 최적화를 하는 것은 추천하지 않습니다
개인적인 생각으로는, 90% 이상의 프로젝트에서 성능 최적화는 사치라고 생각합니다
그럼에도 불구하고 성능 최적화가 반드시 필요한 프로젝트라고 가정한다면,
말씀하신대로 렌더링 범위를 줄이기 위해서 컴포넌트를 쪼개는 것이 효과가 있습니다.
`form 의 한 가지 요소만 값이 변경해도 양식 전체의 가상돔이 리렌더링` 이라고 하셨는데요
전체 상태값을 최상위 컴포넌트에서 읽어들이는 상황을 말씀하신 것 같아요
성능 최적화가 필요할 정도로 복잡한 프로그램에서는 컴포넌트를 적절한 단위로 쪼개는 것이 매우 중요합니다
이건 성능뿐만 아니라 코드 가독성에도 큰 영향을 끼치기 때문입니다
각 컴포넌트의 역할을 분명히 한다면, 상태값도 그에 따라 자연스럽게 분배가 될거에요
그렇게되면 필요한 부분만 리렌더링되게 할 수 있습니다
자동완성기능이 안되네요 ..
0
499
3
화면에 에러가나네요 ...
0
516
2
setValue 함수 질문 있습니다.
0
840
1
찾아야한다 실습 문의
0
469
1
훅 기초 익히기 - 배치 처리와 순차적 처리의 차이
0
470
1
cra, next.js 관련 질문 드립니다!
0
605
1
useState 배열 비구조화 문법 질문!
0
252
1
Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'
1
1081
2
Saga 오류 이거 혹시 왜이런지 알수 있을까요?
0
370
2
http://localhost:3001/user/search?keyword=u 이걸로 데이터를 보는데 저는 사이트에 연결할 수 없다고 나오네요
0
657
1
match
1
494
1
버튼이 생성되지 않습니다 .
0
287
1
혹시 import 옆에 파일 사이즈 표시 어떻게 하나요?
0
262
1
saga 문제
0
248
1
에러가 발생하는데 이유가뭘까요..?
0
388
2
선생님과 똑같이 했는데 다 rendering 됩니다.
0
202
1
컴포넌트와 컨테이너의 기준
0
315
1
커스텀훅의 개념과 함수차이
1
1198
1
useEffect 실전 활용법(1) 강의에서 질문있습니다.
0
337
1
리덕스, 사가파일들의 관리
0
207
1
useImperativeHandle 질문 입니다.
0
281
1
컴파일 문의드립니다.
0
203
1
React.memo 관련 질문이 있습니다.
0
373
1
Context API vs Redux 사용 빈도
0
212
1





