사자자리

[React] 마치며 본문

웹기초/생활코딩 REACT

[React] 마치며

renne 2022. 8. 3. 18:44

Immutable

 - 구현을 단순하게 유지해서 더 높은 복잡성에 도전하기 위한 노력

 - 가변적인 것은 나쁜 것이 아니지만, 너무 자유분방한 변경 가능성은 혼란과 사고를 부를 수 있다.

 

https://immutable-js.com/

 

Immutable.js

Immutable collections for JavaScript Read the docs and eat your vegetables. Docs are automatically generated from README.md and immutable.d.ts. Please contribute! Also, don't miss the wiki which contains articles on additional specific topics. Can't find s

immutable-js.com

 - 배열과 객체를 immutable하게 다루기 위한 라이브러리

 - 배열과 객체의 대체재로 사용할 수 있다.

 - 모든 연산이 원본을 변경하지 않고, 복제된 결과를 return한다.

 

Router

 - 우리가 지금까지 다룬 웹 app은 하나의 URL로 모든 페이지를 다루고 있다.

 - 페이지 전환을 할 때마다 네트워크 로딩을 하지 않는다는 점은 장점이다.

 - 그러나, URL만을 가지고 페이지로 찾아올 수 없다는 것은 단점이다.

 

https://reactrouter.com/

 

Declarative routing for React apps at any scale | React Router

Version 6 of React Router is here! React Router v6 takes the best features from v3, v5, and its sister project, Reach Router, in our smallest and most powerful package yet.

reactrouter.com

 - URL에 따라서 적당한 컴포넌트가 실행되게 할 수 있다.

 - URL로 접근하는 사용자에게 그 URL에 해당되는 UI를 서비스할 수 있는 퍼머링크(Permalink) 기능도 제공할 수 있다.

 - 퍼머링크: mpm과 같은 것을 통해 설치해서 사용할 수 있는, 플러그인과 같은 기능(React에 기본적으로 포함 X)

 

create-react-app

 - 편리하지만, 제작자가 정한 도구를 사용해야 한다. 복잡한 작업을 하다 보면 기본적인 도구로는 부족할 수 있다.

 - npm run eject를 하면 감춰진 여러 기능을 사용해서 마음대로 개발 환경을 수정할 수 있다. 그러나 한 번 eject을 하면 다시 돌아갈 수 없다.

 

redux

https://css-tricks.com/learning-react-redux/

 - 컴포넌트가 많아지면, 컴포넌트 간의 교류가 굉장히 까다로워진다.

 - redux는 중앙에 데이터 저장소를 하나 만들고, 모든 컴포넌트는 그 저장소와 직접 연결된다.

 

react server side rendering

 - 서버 쪽에서 웹페이지를 완성한 후에 클라이언트로 완성된 HTML을 전송하는 걸로 app의 구동을 시작할 수 있다.

 - 초기 구동 시간 단축 가능

 - 검색 엔진과 같은 로봇들이 HTML 태그를 직접 읽을 수 있다.

 

react native

 - react와 같은 방법으로 native app을 만들 수 있다.

 - native app: ios 안드로이드와 같은 플랫폼

 - 하나의 코드로 거의 모든 플랫폼에서 동작하는 app을 만들 수 있다.

'웹기초 > 생활코딩 REACT' 카테고리의 다른 글

[React] react-calendar  (0) 2022.08.14
[React] delete 구현  (0) 2022.08.03
[React] Update 구현  (0) 2022.07.27
[React] Immutable  (0) 2022.07.27
[React] Create 구현  (0) 2022.07.27
Comments