반응형

리액트 5

React v18

new Root API 이전에는 Root Container에 변화가 없더라도, 새로 랜더링하기 위해 Root를 반드시 체크했어야만 했다. 위 과정이 무의미하다고 판단하여 새로운 Root API를 생성함. 매번 Root를 체크하지 않음. 새로운 Root API에는 Callback이 제거되었는데, hydration, SSR 과 함께 Callback을 사용하면 타이밍이 개발자의 생각과 다르게 작동할 수 있기 때문이다. automatic batching 더 나은 랜더링 성능을 위해 state 업데이트를 하나로 그룹화 하는 것을 의미한다. 모든 state 업데이트는 리액트에서 발생하는 이벤트 내부의 업데이트와 동일한 방식으로 처리하여 랜더링 횟 수를 최소화 함. automatic batching을 원하지 않는 경..

React 2023.10.30

[React] 이벤트 리스너에서 현재 상태가져오기

이벤트 리스너 내부에서 상태를 접근하면 최신의 상태를 가져올 수 없습니다. 이벤트 리스너가 등록될 시점의 상태로만 접근이 가능합니다. 그렇다면, 최신의 상태를 가져오기위해서는 어떻게 해야할까요? useRef를 이용해 이 문제를 해결 할 수 있습니다. 간단한 예제 프로그램을 만들어봤습니다. 화면에는 현재 count 상태 값을 출력하고, 버튼을 클릭하면 count 값을 1 증가시킵니다. 증가된 상태 값은 바로 적용되어 화면에 출력됩니다. 브라우저 화면을 더블 클릭하면 count 값을 alert 창에 출력하도록 이벤트 리스터도 추가했습니다. import "./App.css"; import { useEffect, useState } from "react"; function App() { const [count,..

React 2023.06.20

[Recoil] Selectors 기본 알아보기

selectors는 atoms이나 다른 selectors를 입력으로 받아드리는 순수 함수이다. selectors는 상태를 기반으로 하는 파생 데이터를 계산하는 데 사용된다. 이 말은, 최소한의 상태만 atoms에 저장하고, atoms과 selectors를 조합/가공하여 파생될 수 있는 모든 데이터는 selectors에 명시한 함수를 통해 효율적으로 계산함으로 쓸데 없는 상태의 보존을 방지한다. selector 함수 내부에서 사용하는 atoms 또는 selectors가 업데이트 되면 해당 selector 함수도 다시 실행된다. const fontSizeLabelState = selector({ key: 'fontSizeLabelState', get: ({get}) => { const fontSize = g..

React 2023.01.27

Recoil이란?

React를 위한 상태관리 라이브러리. Recoil을 사용하면, atoms(공유 상태)에서 selectors(순수 함수)를 거쳐 React 컴포넌트로 내려가는 data-flow graph를 만들 수 있다. Atoms 상태의 단위로서, 업데이트와 구독이 가능. atom이 업데이트되면 구독하고 있는 모든 컴포넌트는 새로운 값을 반영하여 다시 렌더링 된다. 런타임에 생성 가능. Selectors atoms나 다른 selectors를 입력으로 받아들이는 순수 함수 상태를 기반으로 하는 파생 데이터를 계산하는 데 사용. 최소한의 상태 집합만 atoms에 저장하고 다른 모든 파생 되는 데이터는 selectors에 명시한 함수를 통해 효율적으로 계산하므로서 쓸모 없는 상태의 보존을 방지 참고: 주요 개념 | Reco..

React 2023.01.24

React 클래스형 컴포넌트 생명주기

constructor() 컴포넌트 생성 시점에 호출 constructor 함수는 생명주기 함수는 아니지만, 클래스형 컴포넌트가 생성될 시점에 호출되므로 생명주기에 포함. render() 컴포넌트가 그려질 때 호출 componentDidMount() 컴포넌트가 처음 화면에 그려지면 호출 componentDidUpdate() 화면이 업데이트되면(새로 그려지면) 호출 componentWillUnmount() 컴포넌트가 사라질때 호출. 아래 diagram을 참고하시면 좀 더 이해하기가 좋을 것 같습니다. https://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/ React Lifecycle Methods diagram Fully interactive and ..

React 2020.07.22
반응형