컴포넌트 여러개에서 비슷한 기능을 가지고 동작하는 함수가 있을 때 나의 hook으로 제작하여 만들어낼 수 있다. 이에 관련된 예시를 수행해보자!
import { useReducer } from "react";
function reducer(state, action) {
return {
...state,
[action.name]: action.value
};
}
export default function useInputs(initialForm){
const [state, dispatch] = useReducer(reducer, initialForm);
const onChange = e => {
dispatch(e.target);
};
return [state, onChange];
}
요거는 새로 만든 Hook이다. 이것을 다른 js파일에서 import 하여 사용하면된다.
다른 개발자들이 만든 Hook도 참고해보자!