React. Не изменяется значение useState через хук
Всем привет. Имеется следующая проблема. У меня есть хук, который возвращает какие-то поля:
export const useFields = () => {
const [foo, setFoo] = useState<string>("");
const [bar, setBar] = useState<string>("");
return {
field1: {value: foo, set: setFoo},
field2: {value: bar, set: setBar},
}
}
Далее я использую это в компоненте:
export const TestComponent: FC = () => {
const fields = useFields();
const checkBehavior = () => {
for (let key in fields) {
fields[key as keyof typeof fields].set("123");
}
console.log(fields.field1.value);
console.log(fields.field2.value);
return Object.entries(fields).every((item) => !!item[1].value);
}
return (
<button onClick={checkBehavior}>Test<button>
)
}
Я ожидаю после клика увидеть значения 123 и чтобы функция вернула true. Но значения остаются пустыми и соответственно функция возвращает false.
Прошу помочь найти мне в чём я ошибаюсь и что делаю не так.