react
는 인터랙션이 많은 웹앱을 개발하기 위해 사용되는 라이브러리이다.
📂 라이브러리 : 어떠한 특정 기능을 모듈화 해놓은 것
🔧 프레임워크 : 어떠한 앱을 만들기 위해 필요한 대부분의 것을 가지고 있음 (ex: Angular
, Vue
)
프레임워크는 라이브러리를 포함하며 우리가 작성한 소스 코드를 호출한다. 그리고 소스 코드는 어떠한 기능을 구현하기 위해 라이브러리를 호출한다.
react는 전적으로 UI를 렌더링 하는 데 관여하기 때문이다.
react는 라우팅, 상태관리, 빌드, 테스팅을 위해 다양한 라이브러리를 함께 사용하게 된다.
react-router-dom
redux
, mobx
, recoil
Jest
, Mocha
react로 만들어진 앱을 이루는 최소한의 단위를 말하며, 여러 개의 컴포넌트가 모여서 하나의 페이지를 구성한다.
하나의 컴포넌트를 여러 곳에서 사용할 수 있고, 여러 명이 각자 맡은 컴포넌트를 동시에 수정할 수도 있다.
class App extends Component {
render() {
return <h1>안녕하세요.</h1>;
}
}
function App() {
return <h1>안녕하세요.</h1>;
}
원래 클래스형 컴포넌트로 개발을 많이 했으나, react hooks 발표 이후부터는 함수형 컴포넌트를 이용한 개발이 많아졌다.