automatic batching

Goofi·2023년 1월 21일
0
post-custom-banner

automaitc batching

리액트의 18버전 이상부터는 automatic batching 기능이 생겼다.

"state 변경한 함수들이 근처에 있다."
→ 하나로 합쳐서 최종적으로 딱 한번만 state를 변경한다.
즉, state 변경함수를 쓸때마다 재렌더링을 시켜주는게 아니라 state 변경이 다 되어지면 마지막에 재렌더링 시켜준다.

ReRendring X -> state 변경함수()
ReRendring X -> state 변경함수()
ReRendring X -> state 변경함수()
ReRendring O -> state 변경함수()

예시)

    let [fade, setFade] = useState('');
    useEffect(()=>{
        //fade라는 state를 end로 바꿔주세요.
        setFade('end')//Second 최종적으로 end가 되는거임
        return(
            setFade("") //First
        )
    },[tap])

clean up function에서 첫번째setFade("") 변경함수가 실행되고 useEffect에서 두번째 setFade("end")가 변경함수가 실행된다. 그렇기 때문에 automatic batching 기능으로 최종적으로 setFade("end") 마지막으로 실행된다.

profile
오늘보단 내일이 강한 개발자입니다!🧑🏻‍💻
post-custom-banner

0개의 댓글