shakiriker
@shakiriker

Реагировать на эквивалентные хуки для ComponentWillMount Задать?

Я посмотрел здесь, но выбранный ответ не отвечает на вопрос. Я ищу componentWillMount()эквивалент для выполнения логики, аналогичной:

useEffect(() => {
  if (condition) {
    // do stuff
  }
}, []);


Проблема с вышеупомянутым состоит в том, что компонент выполняет рендеринг в течение доли секунды перед выполнением useEffectблока кода.

Есть ли способ обойти это? Без использования useEffect в основном Appкомпоненте или создания пользовательского хука?
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Во-первых componentWillMount не рекомендован к использованию. Во-вторых, он никак не защитит вас от дополнительного вызова render, если речь идет о выполнении асинхронной операции, а для синхронных он и не нужен.
Смело используйте componentDidMount и useEffect.

А от лишних вычислений можно огородиться, например, так:
if (!someCondition) return null;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@SANTA2112
Попробуй
useLayoutEffect(() => {
  if (condition) {
    // do stuff
  }
}, []);

частичный эквивалент
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы