Задать вопрос
shakiriker
@shakiriker

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

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

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


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

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

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

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

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽