Oleg
Выполнение функции в return не обозначает того, что компонент именно анмаунтится. Это может произойти если у тебя изменились deps.
не знал. но они не меняются. у меня приходит в пропсах options, в нём есть поле multiselect (bool), и я поставил useEffect на этот multiselect. он не отрабатывает.
Alexander
Есть Popup, сделанный через createPortal. Есть select, выпадающий список которого тоже сделан на createPortal. У Popup есть обработчик клика outside. А т.к. у select выпадающий список вне попапа, то я не могу проверить его через popupRef.current.contains. И следовательно при клике на пункт в выпадающем списке срабатывает click outside. Как такого избежать?
Volodymyr
https://codesandbox.io/s/naughty-wildflower-gnczd есть один прогресс-бар почему то в песочнице анимация срабатывает на 1 рендер а в проекте - нет накостылякал тригер анимации с помощью юз эффекта кстати, походу это хреновое решение ЧТО Я ДЕЛАЮ НЕ ТАК?
Volodymyr
как заставить работать css transition анимацию для 1 рендера?
Volodymyr
React transition group
а без либки?
Volodymyr
как?
Volodymyr
если убрать изврещение с юз эффектом тогда не будет анимироватся на 1 рендер (а в проекте даже с этим извращением не робит) https://github.com/reactjs/react-transition-group/issues/216 карочи говорят юзать кейфреймы
Volodymyr
не робит так анимашка
Cenator 🐈
Тебе нужно сначала с 0% отрендерить
Danila
useLayoutEffect не поможет?
Danila
не робит я хз
Какого эффекта ты пытаешься добиться?
Danila
Такие прогрессы должны быть полностью тупыми, к чему там стейт и эффекты?
Danila
Из пропсов рендери да и всё
Volodymyr
Какого эффекта ты пытаешься добиться?
пытаюсь заставить анимашку transition: width 0.5s ease-in; работать для 1 рендера в песочнице оно все работает в проекте идентичный компонент но анимация не воспроизводится для 1 рендера
Danila
Без проекта, очевидно, не помочь
Volodymyr
использование
Philipp
same progressbar
Может считать width внутри эффекта, а следить за входящими параметрами?
Vadym
привет всем. Ребят, есть проблема - никак не могу в редьюсере установить в стейт сообщение ошибки которое приходит из сервера в случае, когда юзер вводит неправильную почту или пароль. думаю, что проблема в саге, но никак не пойму, что именно не так. пока получается только записать в стейт ошибку POST http://localhost:5000/login 400 (Bad Request) . Вот мой код: https://gist.github.com/frontvin/6fc54f2ff857bcd158d8af4e44a42d76
アレクサンダー・バキマトフ
same progressbar
мб попробовать для юзстейт передать тупо 0 в качестве инишиал вэлью? а не стрингу
アレクサンダー・バキマトフ
а ну ок
Dmitriy
N
Ребята можно создать внутри html условию таким образом:
Volodymyr
{ condition.some && <h1>hey</h1> }
N
или можно использовать if без else например так: arr ? тут текст если тру :
Volodymyr
чекни статью, там много примеров рассматривается
N
https://reactjs.org/docs/conditional-rendering.html
Оо спасибо я хочу быстро научится но не замечаю то что должен замечать, пока ты не сказал: { condition.some && <h1>hey</h1> }
N
нужно JS сначала изучить
а на js как бы так работает: if(true){ 'true' } else { 'false' }
Сергей
condition ? true : false
можно же просто condition
Oleg
ребят, а есть чатик по тайп-скрипту?
Volodymyr
https://t.me/ts_ru
Deyl
Добрый день, ребята. Кто может помочь с компонентом AutoSizer от react-virtualized почему-то не забирает свободное пространство. Вроде все величины выставил как нужно. https://codesandbox.io/s/old-river-3y6m5
Китикет
можно же просто condition
Только если там true/false
Китикет
А так Boolean(value) и все)
Сергей
Только если там true/false
по записи выше - condition ? true : false - так и есть
Сергей
А так Boolean(value) и все)
или !!value Как лучше?
Anonymous
Китикет
по записи выше - condition ? true : false - так и есть
'' ? true : false и true ? true : false не одно и то же
Китикет
!!value - некрасиво, перестал так делать
Alexey
!!value - красиво. Всегда так делаю
N
!!value - некрасиво, перестал так делать
Но короткий, лично я привык писать по старому if(){} else {}
Китикет
!!value - красиво. Всегда так делаю
Не декларативно имхо
🦜
!!value - красиво. Всегда так делаю
стоит правило в линтере, чтобы так не делали
Китикет
Как надо?
Boolean(value) - я так всегда делаю
Alexey
Не декларативно имхо
Несколько дней назад спрашивал. Тут часто упоминают "декларативно". Можно как-то, like i'm five, объяснить, что тут под этим имеется в виду?
Alexey
стоит правило в линтере, чтобы так не делали
у меня прошлый тимлид режектил код, который он не мог прочитать. для него было трудно, например, читать чейны промисов .then().then().then
N
Че?)
тяжело писать на русском если ты не русский 😢😅
Китикет
Несколько дней назад спрашивал. Тут часто упоминают "декларативно". Можно как-то, like i'm five, объяснить, что тут под этим имеется в виду?
На примере того же приведения к Boolean !!value - мы говорим интерпретатору, КАК привести к Boolean Boolean(value) - мы говорим что мы ХОТИМ Boolean
Alexey
ага, однажды он увидел if (~(arr.findIndex(...))) и тоже такой, типа, у тебя тут символ какой-то не тот
Китикет
Looch
Битвайс ?
Китикет
Понятно?
petyappetrov
petyappetrov
масло в огонь
Alexey
When Boolean is called with argument value, the following steps are taken: Let b be ToBoolean(value). If NewTarget is undefined, return b. Let O be ? OrdinaryCreateFromConstructor(NewTarget, "%BooleanPrototype%", « [[BooleanData]] »). Set O.[[BooleanData]] to b. Return O.
Китикет
А теперь в современном хроме проверь
Китикет
Разница 0%
Anonymous
Chrome 26 это в каком году вообще было?