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.

Прошу помочь найти мне в чём я ошибаюсь и что делаю не так.


Ответы (0 шт):