moClay
@moClay
учусь всему

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

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

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

    },[]);

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

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

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

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