Development Study/Frontend
[React] 초보 개발자들이 실수하기 쉬운 것들
TMInstaller
2023. 1. 17. 14:34
728x90
들어가며
최근 React를 배우고, 프로젝트에서 실행을 하면서 많은 시행착오를 겪었습니다
그중에서도 많은 개발자들이 공통적으로 성장하면서 겪는 실수들이 있다고 하는데,
이 글은 그러한 내용들을 다루고 있습니다
공감되는 부분이 있고, 아닌 부분들도 있겠지만 대부분은 겪고 지나간다는 일이니
재밌게 봐주시길 바라며 포스팅을 시작합니다
KOR 본문
1. 컴포넌트화의 부재
- 하나의 파일에 모든 코드를 입력하여 만들려고 한다면 후에 디버깅을 하고 다루는 데에 어려움을 겪게 된다
- 하지만 모든 것이 여러 컴포넌트로 세분화가 잘 이루어져 있다면?
- 프로젝트 관리를 굉장히 편안하게 할 수 있을 것이다
2. 직접적인 state 수정
- 리액트의 모든 state들은 변하지 않는 값을 가지고 있다
- state, object, array등을 변경할 시 굉장히 난처한 상황이 발생할 수 있다
- 이슈가 발생했을 때 고치기가 어려워진다
- 리액트는 요소들에 대해 관찰하고 업데이트 하는 것이 불가능하다
- 물론 바뀌기는 하겠지만 새로고침을 누르기 전까지는 같은 값을 보여 줄 것이다
- 해결법으로는 리액트 Hooks의 useState()나 setState()를 사용하는 방법이 있다
3. 넘버 속성 대신에 String값 사용하기
- 작은 실수라고 볼 수 있는데, 숫자를 string타입으로 받아오는 경우가 있다
- 결국은 타입이 변하는 것으로, 주의해야 할 필요가 있다.
- 타입스크립트를 사용하는 경우 이는 어느 정도 해결될 것이다
4. setState()는 비동기이다
- 비동기란 사용자가 만든 모든 변경사항에 각각 변화가 나타난다는 것이다
- 실시간으로 변화시키기 위한 비동기를 적용하기 위해 setState를 사용하도록 하자
- 그렇지 않는다면 모든 변경이 일어날 때마다 새로고침을 눌러야 할 것이다
5. 컴포넌트명을 대문자로 시작하지 않기
- 이러한 작은 실수는 에러를 나타낼 수 있는데, JSX 의 HTML부분에서 컴포넌트가 import되는 부분을 살펴보면 왜그런 지 알 수 있다
- <component /> 처럼 소문자로 시작하는 컴포넌트의 경우 html에서 태그로 인식할 수 있기에 오류가 날 수 있다
- html의 구조를 살펴보면 <a>, <p>처럼 소문자로 시작하는 규칙이 있다
- 그래서 "어? 혹시 이거 내 태그 아닌가?"로 인한 오류가 생길 수 있다
6. 폴더 구조 정하지 않고 일단 코딩하기
- 더러운 폴더구조야말로 후에 이 더러운 것들을 청소하는 시간을 가지게 만들어 상당히 까다롭다
- 모든 요소들은 당신이 구조를 변경하는 동안 영향을 받아 이에 대한 오류들을 해결하게 만들 수 있다
- 작업실을 더럽게 만들어두면 작업이 끝났을 때 모두 정리해야 하는 것과 같다고 볼 수 있다
7. 유일신 컴포넌트
- 단일 구조로, 재사용되지 않는데 컴포넌트라는 특징을 가진다
- 모든 UI 요소들을 하나의 컴포넌트에 담지 않도록 하자
- 당신의 어플리케이션의 모든 부분에 대한 최신 버전 개요를 만들고 각각을 별도의 구성요소로 바꾸도록 한다
- 이런 방법들을 사용해 나눠두면 모든 컴포넌트들은 더 간단해져서 유지보수하기가 편해질 것이다
- 모든 부품이 자체제작되고 어디에도 호환되지 않는 컴퓨터와 같다는 소리인데, 당연하게도 유지하기도 어렵다
ENG 본문
- At the beginning of a career, each newbie has to overcome troubles and obstacles.
- From middle and senior Reactor developers
- About mistakes that juniors and tranees make
- 7 mistakes
1. Absence of micro-services
- most common mistakes of newbies
- putting everything in one single file
- difficult to debug and handle
- but when everything is split into separate components
- debug and change everything in the most harmless way
- putting everything in one single file
2. Direct modification of states
- all states in React are to be immutable
- mutation of states, objects, arrays are a dangerous things
- hard to fix issues about that
- React is not able to observe and commence re-rendering of the elements
- that have been changed but still have the same reference
- this can be solved by using useState() hook or setState() method
- help React identifying your changes and allow DOM to re-render them correctly
3. String instead of a number as the argument
- kinds of tiny mistakes
- not to use number 1 to ‘1’ → type changes
4. setState() is asynchronous
- asynchronous means that all changes you provide won’t be displayed at the same time
- They’d rather transfer to another render and then can be seen
- so, don’t forget about setState and its asynchronous
5. Components name capitalization
- this small mistake can cause some errors
6. Folder Structure
- mess structure of fordel can cause necessary task
- all the elements should be sorted out and that will help you and others to change, scale and improve a project
7. God components
- made up monolithic, non-reusable parts
- not to pack all of your UI elements into one component
- spend some time outlining the various related sections of your app and turning each one into a seperate component
- All of the components of your program are simpler to maintain and reorganize as necessary when commponents are seperated in this way
End
References
728x90