ReactJS функциональные проблемы с компонентами внутри useEffect в хуках - PullRequest
0 голосов
/ 27 апреля 2020

Я использую функциональный компонент как ребенок с подпорками от родителя. В реквизите у меня есть массив value, в котором я получаю пустым ([]) внутри useEffect, и через некоторое время то же самое отображается в пользовательском интерфейсе. Я использую useEffect для вызова функции и установки состояния только один раз, как показано ниже, и я хочу, чтобы это было так. Здесь value - реквизиты, а checkEmpty - функция, которую я проверяю и устанавливаю состояние, completed. Есть ли способ вызвать функцию внутри useEffect после заполнения массива value. Но я хочу, чтобы useEffect вызывалось только один раз, и мне нужно изменить состояние completed, не допуская его равным бесконечному l oop.

 useEffect(() => {
        checkEmpty(value)?setCompleted(false):setCompleted(true)
      }, [])

1 Ответ

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

Вы можете передать value как зависимость useEffect, и ловушка запускается только при изменении value.

useEffect(() => {
  checkEmpty(value) ? setCompleted(false) : setCompleted(true);
}, [value])
...