React - сохранить состояние в локальном хранилище, используя input-figureri c -вход - PullRequest
0 голосов
/ 22 апреля 2020

Я отображаю это в таблице bootstrap, используя библиотеку react-numeric-input:

          <td>
              <NumericInput
                value={
                  0
                }
                onChange={handleOnChange}
                step={0.01}
                mobile={false}
                size="14"
              />
            </td>

, и это биты кода для обработки. OnChange:

  const [value, setValue] = useState(0);

  const handleOnChange = event => {
    localStorage.setItem('myValueInLocalStorage', event.target.valueAsNumber);
    setValue(event.target.valueAsNumber);
  };

Я получаю эта ошибка обратно:

TypeError: Cannot read property 'valueAsNumber' of undefined

Я новичок в React и перехватывает, так что управление состоянием немного проблематично c для меня. Все, что я хочу сделать, это изменить входное значение и сохранить его в локальном хранилище, чтобы при обновлении браузера оно запоминало последнее значение ...

ОК ОБНОВЛЕНИЕ

Итак, я сделал несколько прогресс, этот бит кода фактически избегает ошибки:

const handleOnChange = event => { const value = event; localStorage.setItem('myValueInLocalStorage', value); setValue(parseFloat(value)); }; 

Значение затем помещается в локальное хранилище, но само поле ввода не изменяется в значении ... озадачено ...

1 Ответ

0 голосов
/ 22 апреля 2020

попробуйте это:

const handleOnChange = event => {
  const value = parseInt(event.target.value);
  localStorage.setItem('myValueInLocalStorage', value);
  setValue(value);
};
...