1. Automatic Batching
state1 변경()
state2 변경()
state3 변경() => 여기서만 재렌더링 1회
2. useTransition: 느린 컴포넌트 성능 향상 기능
import { useState, useTransition, useDeferredValue } from "react";
let a = new Array(10000).fill(0)
function App() {
let [name, surname] = useState('');
let [isPending, startTransition] = useTransition();
// let state = useDeferredValue(변수); // 여기 넣은 것에 변동 사항이 생기면 늦게 처리
return (
<div className="App">
<input onChange={(e) => {
startTransition(()=>{ // startTransition으로 감싸준다.
setName(e.target.value}
})
}}/>
{
isPending ? '로딩중' :
a.map(()=>{
return <div>{name}</div>
})
}
</div>
)
}
startTransition 안에 있는 코드의 실행 시점을 뒤로 좀 늦춰준다.
'프론트엔드 개발 > React' 카테고리의 다른 글
React 작고 소중한 CRUD 구현.. (with axios) (0) | 2023.02.09 |
---|---|
Redux (4) dispatch를 이용해 count up (0) | 2023.01.26 |
Redux (3) object/array 형태의 state 변경 (0) | 2023.01.26 |
Redux (2) store의 state 변경 (0) | 2023.01.26 |
Redux (1) state 보관 및 사용 (0) | 2023.01.26 |