Yuriy
Гайз, на одном сайте хорошем увидел такую конструкцию action.notes*.map((n: NoteModel) => n.id**)*, что за звёздочки?
Yuriy
отсюда https://gist.github.com/kulak-at/18fac9d8c2412a431ba62fdf86825624#file-src_reducers_noteslist-ts
🅅aleriy
Гайз, на одном сайте хорошем увидел такую конструкцию action.notes*.map((n: NoteModel) => n.id**)*, что за звёздочки?
опечатка скорее всего, там вместо звездочек вопросики я бы понял еще
Artem
Всем привет. Есть тут правила чата?
Akmal
Доброе утро всем. Делаю сайт на реакте с роутингом, нужно сделать прелоадер. Чтобы пока картинки и все такое загружаются отображался спиннер. Как можно это реализовать?
Max
а есть чат по тс или можно здесь спросить?
Igor
@ts_ru
Max
спасибо
Artem
@javascript_jobs
Благодарю
Akmal
isLoading && <Spinner/>
Как менять isLoading?
Nikolai
Akmal
isLoading = true
А как false задать😂
Nikolai
А как false задать😂
Надо js освоить для этого, сложная задача
Александр
Коллеги со styled-components кто-нибудь использует готовые контролы?
Александр
типа Material-UI
Anonymous
как сделал в итоге?
https://t.me/react_js/784579 Для дробных чисел не работает.
shashkov0
Как правильно оборачивать рефами массив элементов?
Solnur
Как правильно оборачивать рефами массив элементов?
Ну родительская нода наверное оборачивается
shashkov0
У меня есть компонент автокомплит, мне надо высчитывать высоту списка автодополнения, а элементы в нем могут быть разной высоты (если например перенос строки будет)
Daniil
Высчитывай контейнер
King
Всем привет. Кто-нибудь знает способ как webpack настроить чтобы он был как parcel? Чтобы можно было дроп-ин замену сделать. Не нашел как без костылей указать html как entry в webpack Parcel вообще тупит сильно иногда
shashkov0
@Baxxterkhv вот в общем, видишь нижний элемент обрезался наполовину. Вот мне надо это избежать. Как это на css сделать ума не приложу
Dmitry
Не делай фикс высоту. Или нужна фикс?
shashkov0
Нужна фикс, дизайнер просит
SMaverick
Нужна фикс, дизайнер просит
Пришли скрин. Где у тебя проблема и что надо. Я делал но надо посмотреть то или нет по скринам.
shashkov0
Обрезается последний элемент
Nikolai
Нужна фикс, дизайнер просит
при скролле в любом случае что то будет обрезаться даже если ты начальную высоту посчитаешь
shashkov0
Суть именно в начальной высоте
SMaverick
Обрезается последний элемент
Только надо на js делать.
SMaverick
Только надо на js делать.
Код посмотрю если есть скину. Если нету подскажу где смотреть подобный пример.
shashkov0
useEffect(() => { const getHeight = () => { const liElements = Array.from( document.querySelectorAll(#${name}-menu li), ) if (liElements.length > 0) { const allItemsHeight = liElements .map(li => li.offsetHeight) .reduce((a, b) => a + b, 0) setMenuHeight(allItemsHeight) } } getHeight() }, [items, name, focused]) Я вот так делал, но мне показалось, что это не очень решение
Sergey
Обрезается последний элемент
либо фиксированная высота соответствующая количеству строк * line-height + отступы либо обрезаться будет
Nikolai
странно что дизайнера напрягает, что там что то обрезается. а что элементы списка разной высоты - не напрягает
Василий
привет в tsx шаблонах можно писать типа этого $"{ConstantsEnums.AppConstantsEnum.host}/config.js" в строку подставлять значения переменных ?
Василий
*"{var}" так что ли?
Андрей
*"{var}" так что ли?
Учи js. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
Bogdan
<button onClick={() => foo(arg)}>primary</button> на сколько вот так писать менее производительно? и вообще так ли это? ну создалась ф-я, что в этом плохого?
Bogdan
Так как ты каждый раз создаёшь функцию, то происходит переподписка на каждом рендере.
ну а выносить вот это выше риди того, что бы не пересоздавать ф-ю выгодно?
Андрей
ну а выносить вот это выше риди того, что бы не пересоздавать ф-ю выгодно?
Зависит от количества подобного. Я бы приучал себя сразу правильно делать.
Андрей
Как правильней в данной ситуации
Правильно - не пересоздавать функцию на каждый рендер.
Bogdan
Правильно - не пересоздавать функцию на каждый рендер.
как это сделать? у меня к примеру 5 таких вызовов разных ф-й, делать 5 ф-й в компоненте через useCalback?
Bogdan
Я так делаю.
а вот нейминг как тогда юзать? есть одна ф-я foo, юзается вот в двух местах с разными аргументами, это уже два колбека нужно
Bogdan
Valentin
+
Андрей
Сделай промежуточную функцию useVariant и код будет проще.
Bogdan
Сделай промежуточную функцию useVariant и код будет проще.
тоесть? сделать хук, вернуть из которого ф-и?
Андрей
тоесть? сделать хук, вернуть из которого ф-и?
Хотя я фигню посоветовал. Не обращай внимания.
Bogdan
Хотя я фигню посоветовал. Не обращай внимания.
вариант выше нормально использовать?
Артем
вариант выше нормально использовать?
а зачем обертывать в React.useCallback?
Bogdan
а зачем обертывать в React.useCallback?
а он создаст ф-ю только при маунте, на апдейт не тригернет
Александр
а зачем обертывать в React.useCallback?
В данном случае можно и не оборачивать
Артем
В данном случае можно и не оборачивать
вот и я удивился, зачем - подумал, что что-то недопонял =( решил уточнить
Bogdan
я тоже не понял, почему нет?
Bogdan
ф-я на апдейте новая без колбека поидее будет
Александр
Почему?
А что это даст? Я понимаю если бы каллбеки эти куда-то пробрасывались глубоко или в какой-то жирный компонент, перерендер которого хотели бы лишний раз избежать, а тут же button
Александр
Я в таких случаях не пишу useCallback, не вижу смысла честно код захламлять, если вдруг когда-то припрет и профайлер укажет на это место - вставлю, но я не настаиваю, просто опытом делюсь