useMultiState

Introduction

이 훅은 React 애플리케이션에서 다양한 상태를 하나의 훅으로 관리하기 위해 만들어진 유틸리티입니다. 다수의 상태를 효과적으로 관리하면서 코드를 간결하게 유지할 수 있습니다. 아래는 이 훅을 사용하는 간단한 예제와 설명입니다.

Example

import React from "react";

function ExampleComponent() {
  // 초기 상태 정의
  const initialStates = {
    username: "",
    email: "",
    age: 0,
  };

  // useMultiState 훅을 사용하여 상태 및 이벤트 핸들러 가져오기
  const [state, dispatch, onChange, onClear] = useMultiState(initialStates);

  return (
    <div>
      <label>
        Username:
        <input type="text" name="username" value={state.username} onChange={onChange} />
        <button onClick={() => onClear("username")}>Clear</button>
      </label>

      <label>
        Email:
        <input type="email" name="email" value={state.email} onChange={onChange} />
        <button onClick={() => onClear("email")}>Clear</button>
      </label>

      <label>
        Age:
        <input type="number" name="age" value={state.age} onChange={onChange} />
        <button onClick={() => onClear("age")}>Clear</button>
      </label>

      <div>
        <p>Current State:</p>
        <pre>{JSON.stringify(state, null, 2)}</pre>
      </div>
    </div>
  );
}

export default ExampleComponent;

이 예시 코드에서 useMultiState 훅을 사용하여 username, email, age 세 가지 상태를 관리하고 있습니다. 각 입력 필드는 해당 상태를 제어하며, "Clear" 버튼을 클릭하면 해당 필드의 값을 초기화합니다. 현재의 전체 상태는 state 객체로 확인할 수 있습니다. 이렇게 하나의 훅으로 여러 상태를 효과적으로 관리할 수 있어 코드를 깔끔하게 유지할 수 있습니다.

Hook

이 훅을 통해서 많은 상태관리를 하나의 훅으로 관리할 수 있게 합니다.

Last updated