Задать вопрос
moClay
@moClay
учусь всему

Как сохранить стейт после последнего рендера?

Добрый день! я пытаюсь получить размер div через это
const [widthDiv, setWidth] = useState(0);

useLayoutEffect(() => {
        setWidth(ref.current.offsetWidth);

    },[]);

 const [styleDescription, apiDescription] = useSpring(() => ({width: widthDiv}))

Но у меня выводятся 2 значения в консоли (0 и 300) и берется только первое.
Как мне поступить, что-бы бралось значение после последнего рендера?
  • Вопрос задан
  • 71 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Alexandroppolus
@Alexandroppolus
кодир
Непонятно, где у тебя console.log, но судя по всему, на рендере. Здесь получается два рендера. Первый с нулем, , второй после useLayoutEffect по причине изменения стейта. Второй рендер перезаписывает всё, что устарело после первого. Проблемы на первый взгляд нет.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы