React
React 활용 예시(Custom Hook)
goshek
2024. 8. 30. 10:16
import React from 'react'
import {useCounter} from './useCounter';
/*
! Custom Hook
: 리액트의 기본 Hook을 사용하여 작성되는 재사용 가능한 로직의 모음
>> useState, useEffect, useRef등
! Custom Hook 생성 방법
>> use로 시작하는 함수 정의
: 해당 함수 내부에서 다른 Hook을 호출
>> 결과와 기능을 반환
*/
export default function Custom01() {
const {count, increment, decrement, reset}= useCounter(0)
return (
<div>
{count}
<button onClick={increment}>증가</button>
<button onClick={decrement}>감소</button>
<button onClick={reset}>리셋</button>
</div>
)
}
useCounter.tsx
import { useState } from "react";
/*
! Custom Hook
>> 사용되는 컴포넌트에 해당 훅의 기능이 정의된 것처럼 동작
*/
export function useCounter(initialValue: number){
/*
초기값을 매개변수로 받고
>> 카운터를 증가, 감소, 초기화 하는 함수와 현재값을 반환
*/
const [count, setCount]= useState<number>(initialValue);
const increment=()=> setCount(p=>p+1);
const decrement=()=> setCount(p=>p>=1?p-1:0);
const reset=()=> setCount(initialValue);
/*
객체: 속성1, 메소드 3
*/
return {count, increment, decrement, reset};
}