Size: a a a

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

2021 January 31

Н

Николай in React — русскоговорящее сообщество
Всем спасибо за помощь))
источник

s

sccc in React — русскоговорящее сообщество
eden lane
тоже самое могу спросить - зачем проверка таргета, если можно создать слой.
Чтобы не создавай лишних сущностей. В твоём варианте появляется какой-то слой, который можно не создавать, а следовательно и не нужно
источник

el

eden lane in React — русскоговорящее сообщество
с проверкой таргета ждёт сюрприз, когда делаешь дропдаун через порталирование в модалке. клик в меню дропдауне считается за click outside и закрывает модалку. Хотя это не сложно обойти, но не все решения это учитывают
источник

el

eden lane in React — русскоговорящее сообщество
sccc
Чтобы не создавай лишних сущностей. В твоём варианте появляется какой-то слой, который можно не создавать, а следовательно и не нужно
в твоём варианте появлется какой-то listener, который можно не создавать
источник

s

sccc in React — русскоговорящее сообщество
eden lane
в твоём варианте появлется какой-то listener, который можно не создавать
А проверять слой ты как будешь?
источник

el

eden lane in React — русскоговорящее сообщество
sccc
А проверять слой ты как будешь?
слой под выпадающим меню. клик по выпадающему меню не тригеррит клик по слою - ничего проверять не надо
источник

s

sccc in React — русскоговорящее сообщество
eden lane
слой под выпадающим меню. клик по выпадающему меню не тригеррит клик по слою - ничего проверять не надо
Как без листенера отслеживать клики слою?
источник

el

eden lane in React — русскоговорящее сообщество
sccc
Как без листенера отслеживать клики слою?
а, в этом плане. ну да, но листнер на слое только, а не на всём документе. даже никаких if-ов не понадобится.
короче оба варианта рабочие, не надо отметать вариант со слоем, потому что в некоторых ситуациях он проще
источник

И

Иван in React — русскоговорящее сообщество
eden lane
а, в этом плане. ну да, но листнер на слое только, а не на всём документе. даже никаких if-ов не понадобится.
короче оба варианта рабочие, не надо отметать вариант со слоем, потому что в некоторых ситуациях он проще
Что сложного в этом коде?
источник

G

Gearonix in React — русскоговорящее сообщество
есть ли способы интеграции youtube видео?
источник

И

Иван in React — русскоговорящее сообщество
eden lane
а, в этом плане. ну да, но листнер на слое только, а не на всём документе. даже никаких if-ов не понадобится.
короче оба варианта рабочие, не надо отметать вариант со слоем, потому что в некоторых ситуациях он проще
В варианте с оверлэем сложность в создании и удалении оверлэя
источник

G

Gearonix in React — русскоговорящее сообщество
я нагуглил react-media-player, но он не инсталлится
источник

И

Иван in React — русскоговорящее сообщество
Gearonix
есть ли способы интеграции youtube видео?
Да, описаны в документации ютуба
источник

G

Gearonix in React — русскоговорящее сообщество
Иван
Да, описаны в документации ютуба
окей
источник

el

eden lane in React — русскоговорящее сообщество
Иван
Что сложного в этом коде?
я же говорю, порталированное меню этот вариант не учитывает
источник

el

eden lane in React — русскоговорящее сообщество
Иван
В варианте с оверлэем сложность в создании и удалении оверлэя
он рендерится как обычный реакт компонент
источник

И

Иван in React — русскоговорящее сообщество
eden lane
я же говорю, порталированное меню этот вариант не учитывает
Почему не учитывает?
источник

el

eden lane in React — русскоговорящее сообщество
Иван
Почему не учитывает?
потому что порталированное дропдаун меню не является частью ref.current, это проверка сочтёт что это клик outside
источник

el

eden lane in React — русскоговорящее сообщество
для таких случаев в хук прокидывается несколько рефов и они все проверяются, а не только один
источник

И

Иван in React — русскоговорящее сообщество
eden lane
потому что порталированное дропдаун меню не является частью ref.current, это проверка сочтёт что это клик outside
Что мешает повесить реф на портал?
источник