Develop record

[React] memo 본문

Frontend/React

[React] memo

seong's log 2024. 3. 31. 20:23
//필요할 때만 렌더링하기 : memo (자식컴포넌트가 렌더링시 시간을 많이 지연시킬경우 재렌덜이을 하지 않기 위해 사용)
// CHILD로 전송되는 props가 변할 때만 재렌더링
// props 가 길고 복잡할때는 쓰지말기 꼭 필요한 무거운 것에만
let Child = memo(function (){
    return <div>Child</div>
})

함수 function(){
	return 10억번돌린 결과
}

function Cart(){

    let cart = useSelector((state)=>{return state.cart})
    let user = useSelector((state)=>{return state.user})
    let dispatch = useDispatch()
    let [count, setCount] = useState(0)
    
    let result = usememo(()=>{return 함수},[]) // 렌더링시 최초1회만 실행 / [state]이 변경될때마다 실행
    
    // Cart가 재렌딩 될 때마다 child 도 같이 렌더링 됨
    return(     
        <div>
            <Child></Child>
            <button onClick={()=>{setCount(count+1)}}>+</button>

'Frontend > React' 카테고리의 다른 글

[React] react - query , lazy, suspend  (0) 2024.03.31
[React] Redux state 변경  (0) 2024.03.29
[React] Redux 셋팅 / state 만들기  (0) 2024.03.26
[React] Context API  (0) 2024.03.26
[React] 애니메이션-transition  (0) 2024.03.25