use-effect не работает, только после refre sh page - PullRequest
0 голосов
/ 21 апреля 2020

У меня проблема с useEffect в моем приложении React. Я пытаюсь перевести заполнитель во входные данные с помощью useEffect, это мой код:

const [age, setAge] = useState("");

  useEffect(() => {
    if (localStorage.myLanguage[7] == "p") {
      setAge("Translate One");
    } else {
      setAge("Translate Two");
    }
  });

, и это мой ввод:

<input
   onChange={handleChangeAge}
   value={titleAge}
   type="number"
   min="1"
   max="100"
   id="age"
   placeholder={age}
   name="age"
   required
></input>

Это работает, потому что в локальном хранилище оно изменяется, но на страницу, если я хочу увидеть изменения, я должен обновить sh страницу. Мне нужно это работает после того, как пользователь переключает язык в селекторе. Вы можете мне помочь?

1 Ответ

1 голос
/ 21 апреля 2020

Попробуйте:

  useEffect(() => {
if (localStorage.myLanguage[7] == "p") {
  setAge("Translate One");
} else {
  setAge("Translate Two");
}
  }, [localStorage.myLanguage]);

, который должен запускаться при каждом изменении массива localStorage.myLanguage. Дайте мне знать, если это работает, так как я, конечно, не пробовал его с вашим кодом. Если выдается ошибка, говорящая об изменении длины, сделайте следующее:

[localStorage.myLanguage.join(',')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...