You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
364 B
JavaScript
15 lines
364 B
JavaScript
import { useCallback, useState } from 'react';
|
|
|
|
export default (initialData) => {
|
|
const [data, setData] = useState(initialData);
|
|
|
|
const handleFieldChange = useCallback(({ target: { name: fieldName } }, { value }) => {
|
|
setData((prevData) => ({
|
|
...prevData,
|
|
[fieldName]: value,
|
|
}));
|
|
}, []);
|
|
|
|
return [data, handleFieldChange, setData];
|
|
};
|