React/기초

[리액트 기초] 리액트 Hook - useState,useEffect,useReducer,useMemo,useCallback,useRef

Judith Hopps 2023. 3. 13. 18:39
반응형

useState

함수형 컴포넌트

const [value, setValue] = useState('');
const [name,setName] = useState('');

return (
	<div>
    	<button onClick={()=>setValue(value+1) }
        {value}
        
        <input value={name} 
        	   onChange(e=> setName(e.target.value)) />
       {name}
        			
    </div>
)

 

 

useEffect

렌더링 될때마다 특정 작업 수행

useEffect(()=> {
	console.log() }, [] : 마운트
    [name] : 특정 값 업데이트 }

 

 

useReducer

useState보다 더 다양한 컴포넌트 상황에 따라 다른 값으로 업데이트

function reducer(state,action) {
	return {
    	...state,
        [action.name] : action.value }
}

const Info = () => {

	const [state,dispatch] = useReducer(reducer, 
    	  { name :' ', nicName : ' ' })
    const {name, nicName } = state;
    const onChange = e => {
    	dispatcj(e.target); }
}

useMemo

함수형 컴포넌트 내부 연산 최적화

const avg = useMemo(()=> getAvg(list), [list]);
<div> {avg} </div>

 

 

useCallback

useMomo와 비슷하지만 렌더링 상황 최적화할 때 사용된다.

 

 

 

useRef

const inputEl = useRef(null)
<input ref={inputEl} />


//이벤트
{inputEl.current.focus() }

 

반응형