Size: a a a

React — русскоговорящее сообщество

2021 February 05

MS

Morning Star in React — русскоговорящее сообщество
ебат
источник

АМ

Андрей Маргиев... in React — русскоговорящее сообщество
если ты хочешь чтобы эффект запустился только один раз при первом рендере компонента
источник

АМ

Андрей Маргиев... in React — русскоговорящее сообщество
надо добавить пустой массив зависимостей эффекта
источник

АМ

Андрей Маргиев... in React — русскоговорящее сообщество
useEffect(() => window.addEventListener(‘scroll’, handleScroll), [])
источник

АМ

Андрей Маргиев... in React — русскоговорящее сообщество
То есть вторым аргументом в useEffect передать пустой массив
источник

MS

Morning Star in React — русскоговорящее сообщество
Андрей Маргиев
useEffect(() => window.addEventListener(‘scroll’, handleScroll), [])
тип так?
источник

A

Azim in React — русскоговорящее сообщество
Morning Star
тип так?
Нет. Вторым аргументом в функцию useEffect
источник

АМ

Андрей Маргиев... in React — русскоговорящее сообщество
Morning Star
тип так?
А что ты тут сделал? Просто нарушил синтаксис языка, поставив в конце функции запятую и написав пустой массив. Не то совсем, дружище)
источник

И

Илья in React — русскоговорящее сообщество
Morning Star
тип так?
А может быть имеет смысл посмотреть в документацию?
источник

A

Azim in React — русскоговорящее сообщество
useEffect(() => {
     window.addEventListener('scroll', haldleScroll);

 return () => {
   window.removeEventListener(handleScroll)
 }
}, [])
источник

A

Azim in React — русскоговорящее сообщество
Morning Star
тип так?
Вот так.

Печатад на телефоне, надеюсь поймешь
источник

MS

Morning Star in React — русскоговорящее сообщество
Azim
Вот так.

Печатад на телефоне, надеюсь поймешь
источник

MS

Morning Star in React — русскоговорящее сообщество
Azim
useEffect(() => {
     window.addEventListener('scroll', haldleScroll);

 return () => {
   window.removeEventListener(handleScroll)
 }
}, [])
да спасибо большое
источник

MS

Morning Star in React — русскоговорящее сообщество
я тут на сайте нашел
источник

A

Azim in React — русскоговорящее сообщество
👍
источник

V

Vetro in React — русскоговорящее сообщество
Ебатрон
Спасибо. И хочу уточнить useEffect выполняется уже после стадии commit, а useLayoutEffect во время commit?
useEffect после пэинта, useLayoutEffect после коммита
источник

MS

Morning Star in React — русскоговорящее сообщество
а где можно посмотреть, типа хочу сделать что бы у меня было одно модальное окно, а внутри были разные компоненты
источник

MS

Morning Star in React — русскоговорящее сообщество
динамический контент наверное модального окна
источник

Е

Ебатрон in React — русскоговорящее сообщество
Vetro
useEffect после пэинта, useLayoutEffect после коммита
есть вроде стадии render и commit. А пэинт что такое?
источник

ДИ

Дмитрий Иванов... in React — русскоговорящее сообщество
Ребят подскажите есть вот такой интерфейс данных которые приходят из api:


interface brandData {
       name_en?: string,
       name_ru?: string,
       logo?: {
           name?: string,
           id?: string,
           extension?: string,
           created_at?: string,
           mimi_type?: string,
           original_name?: string,
           __initializer__ ?: string,
           __cloner__?: string,
           __is_initialized__?: string,
           url?: string,
       },
       disabled?: boolean,
       id?: string,
       created_at?: string,
       updated_at?: string,
       url_slug?: string
}



Я использую useEffect через id по url получаю конктерную марку


  React.useEffect(() => {
   dispatch(
getCurrentBrand(id))
}, [id])



Не кто не сталкивался с проблемом что я не могу сразу обратить к brandData.logo.id потому что он пишет undefined, приходиться писать проверку по типу


if (updateDataSelect.logo !== undefined){
   console.log(updateDataSelect.logo.id)
}



(где updateDataSelect.logo.id это селектор)
источник