Size: a a a

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

2021 June 09

p

persona x grata in React — русскоговорящее сообщество
Реф это обычный объект с полем current. Каким образом будешь вешать события через него?
источник

DN

Drew Naumenko in React — русскоговорящее сообщество
то что хранит в себе  current - эт овыход на этот самый елемент так же?

const btnRef = useRef();

<btn ref={btnref}>

вот он теперь в current хранит ссылку на btn
источник

О

Олег in React — русскоговорящее сообщество
Не стоит смотреть на реф только как  связь с элементом. Это отличный инструмент хранения данных изменение которых не должно вызывать ререндер
источник

p

persona x grata in React — русскоговорящее сообщество
А дальше ?

const handleClick = () => console.log('fff')
btnRef?.current.onclick = handleClick
источник

p

persona x grata in React — русскоговорящее сообщество
Я так ни разу не делал и у меня не получается) Покаж как ты делаешь
источник

О

Олег in React — русскоговорящее сообщество
Три раза перечитал, не понял) с кодом будет яснее
источник

A

A in React — русскоговорящее сообщество
добрый вечер, сообщество
Делаю один проект  на react  c WebRTC
написал простую версию соединения чисто на js без реакта, где webRTC объект инициилизировался как глобальная переменная
С тем что потом к ней много обращений из разных мест

по сути висело на window.rtcConnectionObject

и столкнулся с тем, что когда стал переписывать уже с react /redux - мне нужно где-то хранить этот самый webRTCConnectionObject

в redux store засовывать не вижу смысла
создать может react context и там хранить эту переменную?
тоже как-то не очень

засовывать в window object глобвальную переменную в продакшн код как-то пока не хочется, может есть лучше способы?

Вот нашел эту статейку где предлагается Observer Pattern
https://dev.to/yezyilomo/global-state-management-in-react-with-global-variables-and-hooks-state-management-doesn-t-have-to-be-so-hard-2n2c


здесь исходник решения https://github.com/yezyilomo/state-pool

Всем заранее благодарен за идеи и соображения в этом вопросе.

Какие есть вариант хранить глобальные переменные  в React?
источник

p

persona x grata in React — русскоговорящее сообщество
Localstorage, indexedDb
источник

A

A in React — русскоговорящее сообщество
так а чем localstorage лучше window?

localstorage также внутри window
источник

p

persona x grata in React — русскоговорящее сообщество
Тем что это специально отведенное место для хранения данных
источник

A

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

AS

Alexandr Sachishin in React — русскоговорящее сообщество
привет! подскажите какой-нибудь плагин для отрисовки свг
источник

A

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

A

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

AS

Alexandr Sachishin in React — русскоговорящее сообщество
Спасибо!
источник

DN

Drew Naumenko in React — русскоговорящее сообщество
нет он типо на  маунте вешаеться и очищаеться в useEffect


const func = ()=> { something do};

useEffect(()=>{
  btn.addEventListener("event", func);

 ()=>{
   btn.removeEventListener('event', func)
}
}, [] )
источник

p

persona x grata in React — русскоговорящее сообщество
а в чем преимущество данного подхода перед синтетическим onClick?
источник

p

persona x grata in React — русскоговорящее сообщество
синтетические события для того и сделаны, чтобы избавить тебя от вот этого бойлерплет кода
источник

p

persona x grata in React — русскоговорящее сообщество
и оптимизировать производительность
источник

p

persona x grata in React — русскоговорящее сообщество
другое дело, если тебе надо повесить прослушиватель клика на body и делать clickOutside например для модалок (закрытие модалки на клике вне)
источник