-
true/false toggle 메뉴 구현시 useReducer로 구현하기React.js 2024. 6. 27. 12:18728x90
기존 코드
// 컴포넌트 const [isEndDateOpen, setIsEndDateOpen] = useState<boolean>(false); <div onClick={() => setIsEndDateOpen(!isEndDateOpen)}> + 종료 날짜 및 시간 </div> <div onClick={() => setIsEndDateOpen(!isEndDateOpen)}> - 종료 날짜 및 시간 </div>
useReducer로 개선하기
// 컴포넌트 const [isEndDateOpen, setIsEndDateOpen] = useReducer(state => { return !state; }, false); <div onClick={setIsEndDateOpen}>+ 종료 날짜 및 시간</div> <div onClick={setIsEndDateOpen}>- 종료 날짜 및 시간</div>
개선 후 장점
- 코드가 간결 해진다.
- useState를 사용해서 true/false 토글시에 useCallback으로 감싸주어야 하거나 해야될 때 가 있는데 useReducer를 이용하면 해결된다.
Reference
https://www.youtube.com/shorts/XBNOEHA4Kvg
728x90'React.js' 카테고리의 다른 글
react-date-picker 사용하여 time-picker 재사용 컴포넌트 만들기 (0) 2024.07.27 태그된 유니온과 커스텀 타입가드를 이용한 다른 컴포넌트 랜더링 (0) 2024.07.20 특정한 state 값에 따른 다른 페이지 랜더링을 효율적으로 랜더링 하는 방법에 대해 (0) 2024.05.19 프로덕트 투어 라이브러리 (0) 2024.04.22 react에서 css module 사용시 자식 컴포넌트에서 css를 정의하고 className만 부모 컴포넌트에 props로 전달 하기 (0) 2024.04.20