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

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

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

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

    },[]);

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

Но у меня выводятся 2 значения в консоли (0 и 300) и берется только первое.
Как мне поступить, что-бы бралось значение после последнего рендера?
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Alexandroppolus
@Alexandroppolus
кодир
Непонятно, где у тебя console.log, но судя по всему, на рендере. Здесь получается два рендера. Первый с нулем, , второй после useLayoutEffect по причине изменения стейта. Второй рендер перезаписывает всё, что устарело после первого. Проблемы на первый взгляд нет.
Ответ написан
Ваш ответ на вопрос

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

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