🅅aleriy
в чем он заключается?
Мне с мобилы неудобно это все писать
🅅aleriy
Вы братья с nick?
Никита Суханов
я ебусь с этим уже 2 часа)))
Никита Суханов
ну давай, скажи что ты следишь за инпут ом
Bowie
Лол, нет, мне надо ивент ховера
Bowie
Точнее onMouseEnter задебаунсить
Никита Суханов
а мне инпут))\
Mikhail
и в чем проблема?
Никита Суханов
кидай код
Bowie
а мне инпут))\
Почему не реф?
Никита Суханов
Bowie
и в чем проблема?
Теряется родной ивент
Volodymyr
e.preventDefault() code here e.stopPropagation() ?
Mikhail
Daniil
парни для вас уже создали все необходимое, зачем свой велосипед
Владислав
dangerouslySetInnerHTML
эта функция, чтобы юзать именно html а не jsx, как я понимаю. А мне нужно просто в строчке как-то что-то типа икранировать <br/>
Bowie
ну и нафиг его
Мне нужно знать оффсет и скроллОффсет эл-та
Mikhail
Volodymyr
Мне нужно знать оффсет и скроллОффсет эл-та
то что я тебе написал не подходит ?
Bowie
то что я тебе написал не подходит ?
Спасибо, к сожалению нет
Никита Суханов
бля, слава летающему макаранному монстру!!!!!!
Danila
Хочу всегда полный перерендер списка. <Picture key={Math.random()}/> сойдёт? Мысль в том, чтобы транзишен групп запускал транзишен появления даже если элемент остался на месте.
Bowie
React.cloneElement( child, { ...child.props, onMouseEnter: debounce(show, 500), (...) }
Bowie
Где внутри const show = event => { const { scrollWidth, offsetWidth } = event.target; if (scrollWidth > offsetTarget) { setIsOpen(true); } };
Никита Суханов
useEffect(() => { debounced(fb, updSearchBar, inputValue) }, [fb, inputValue])
Никита Суханов
inputValue передается текущий, а не пердыдущий ведь?
Bowie
Нет инпута, это ховер по диву... эвент передаю не я, а браузер...
🅅aleriy
inputValue передается текущий, а не пердыдущий ведь?
Судя по вопросу у тебя стейт не обновиляется вовремя :))
🅅aleriy
Нет инпута, это ховер по диву... эвент передаю не я, а браузер...
Ну так передавай в свой обработчик не эвент а сразу таргет
Daniil
Вопрос ещё актуален
и чем тебе решение человека не помогло?
Mikhail
Нет инпута, это ховер по диву... эвент передаю не я, а браузер...
React.cloneElement( child, { ...child.props, onMouseEnter: (e)=>debounce(show, 500)(e.target), (...) } const show = target => { const { scrollWidth, offsetWidth } = target; if (scrollWidth > offsetTarget) { setIsOpen(true); } };
Sergey
Никита Суханов
Что тебе мешает присвоить там не тёк т а компонент?
useEffect(() => { debounced(fb, updSearchBar, inputValue) }, [fb, inputValue]) // а, ну так обновление компонета произойдет строго после рендера, значит, в функцию передается следующий inputValue, верно?
Владислав
dangerouslySetInnerHTML
Не догоняю как мне это поможет
Sergey
Не догоняю как мне это поможет
ты вставишь текст и перенос будет воспринят как html и перенос будет виден
Sergey
Не догоняю как мне это поможет
или до сих пор тебе не понятно?
Sergey
Не догоняю как мне это поможет
https://reactjs.org/docs/dom-elements.html#dangerouslysetinnerhtml
Никита Суханов
добрый день. список на странице формируется в зависимости от того что юзер ввел. он появляется и исчезает резко. можно сделать плавное появление?
Владислав
https://reactjs.org/docs/dom-elements.html#dangerouslysetinnerhtml
Загуглить это я и сам смог.
Sergey
Загуглить это я и сам смог.
тогда зачем спрашивать в чате?
Vadim
Загуглить это я и сам смог.
А применить не смог?
Владислав
ес
Владислав
Там создаётся ф-я, которая возвращает обхект. И далее в dangerouslySetInnerHTML кладётся то, что возвращает ф-я
Volodymyr
Зачем вы человека плохому учите? Ему не надо dangerous...
А что тут плохого ? Если с бека пришел обьект в котором тебе возвращают <em> <br> как это распарсить по красивому ? Что бы ХТМЛ понял что это ХТМЛ
Владислав
Ну и? Какие проблемы, трудности?
В каком именном месте применить dangerouslySetInnerHTML? <p className="ttl"> dangerouslySetInnerHTML={ruContentTxt.ru.ensure.TESTING_THE_MAIN_FUNCTION_OF_THE_SITE} </p> здесь возвращается уже свойство, а не объект
Владислав
Так работать не будет. Вот я и не врубаюсь где обернуть этим нужно
Mikhail
С бэка не должно такое говно в spa прилетать :)
+1 у меня в проекте поддерживается пользовательское форматирование текста, храним и передаем получившийся хтмл в json виде
Владислав
хммм
Vadim
Ну каммон
Volodymyr
С бэка не должно такое говно в spa прилетать :)
да ладно, а если у тебя список на 100000 и тебе надо подсвечивать совпадения, а совпадения могут быть не только по названию но и по контексту( краткому описанию товара) этакий гугл серч делат, ты что на UI будешь это разруливать ?
Volodymyr
Ну каммон
)))) Сдался таки )))
🅅aleriy
Я это разруливал на уи
Volodymyr
Я это разруливал на уи
Это намного нагруженне нежели возвращать с бэка
🅅aleriy
Это намного нагруженне нежели возвращать с бэка
1. Не нужно возвращать слишком много 2. Надо уметь быструю подсветку делать на js
Иван
Ех, спасите) Я сейчас реализовываю роутинг по скроллу мыши и постоянно выходит ошибка "Cannot read property 'push' of undefined" Я получается в саму компаненту закинул js код, который ловит событие скролла и с помощью this.history.push('/test'); пытаюсь это реализовать) Я понимаю что что то не так делаю, но никак не могу понять что именно) Вот код ... componentDidMount(){ $('body').bind('mousewheel', function(e){ if(e.originalEvent.wheelDelta /120 > 0) { this.history.push('/test'); console.log('scrolling up !'); } else{ console.log('scrolling down !'); } }); ...
Volodymyr
1. Не нужно возвращать слишком много 2. Надо уметь быструю подсветку делать на js
Я же сразу написал про инфинити скрол, а теперь момент, у тебя на бэке AI/ML И моделька обучается по твоим запросам.
Владислав
<p dangerouslySetInnerHTML={{__html: ruContentTxt.ru.ensure.TESTING_THE_MAIN_FUNCTION_OF_THE_SITE}}>
Госпадиииии. Всё проще чем я думал. Спасибо. И ещё вопрос. Там в доках пишут, что это не безопастно. Что по поводу этого вообще думаете?