Daniil
@webpack_ru
Спасибо
Oleg
Это лучшее обьяснение что я видел
интересно, геи = фронтенд? я так и не понял
Китикет
Китикет
:D
Шутка смешная а ситуация страшная..
Natalia
скажите вот таким способом сетСтейт сильно паршиво? getIndexFromDiagram = (element: any) => { const { activeIndex, fill } = element; console.log(this.state.data.index, activeIndex, fill); (this.state.data.index.activeIndex != element.activeIndex || this.state.data.index.fill != element.fill) { let newState = Object.assign({}, this.state); newState.data.index.activeIndex = element.activeIndex; newState.data.index.fill = element.fill; this.setState(newState); } };
Natalia
Да
и шо вместо него?
Китикет
Прикол в том, что ты только ссылку на обьект стейта меняешь, но при этом все обьекты которые внутри него лежат остаются с той же ссылкой)
Китикет
и шо вместо него?
Три точечки
Natalia
так спред не уменьшит количество кода
Китикет
и шо вместо него?
https://learn.javascript.ru/rest-parameters-spread-operator
Китикет
так спред не уменьшит количество кода
Интересно, а почему ты каждый раз заново пишешь this.state.data.blablabla
Китикет
Не похоже что ты сильно стараешься уменьшить количество кода)
Natalia
уменьшила) let newState = { ...this.state };
Dwight🫀
Ребята, помогите))
Dwight🫀
Как сделать что бы запрос из инпута добавлялся к url
Dwight🫀
Natalia
парсить урл пробовал? или просто добавлять (если сам урл есть) из контроллед компонента
Dwight🫀
я ставлю роут на категории, в самих категориях есть поиск(фильтрует нормально), но нужно что бы к url категорий добавлялся поиск. Знаю что нужно через хистори роута делать
Dwight🫀
const changeInputHandler = event => { input = event.target.value; history.push({ pathname: match.params.categoryId, search: input }); }; Вот пока что так, но не работает как нужно
Natalia
а точно в пуш обьект можно, а не строку?
Natalia
{pathname: /search/${this.state.query}, state: {results: `${this.state.results}`}
Dwight🫀
Можно, на тесте всё работает
Dwight🫀
а тут почему-то не видит инпут
Dwight🫀
но инпут определяет..
Dwight🫀
в чём может быть проблема?
Natalia
попробуй с бэктиками
Natalia
if (element.payload == 'Сценариев' && element.value == '17') { classNameAll = ['curent_status_line', 'clicked-value-all'].join(' '); classNameActive = 'curent_status_line'; classNameNonactive = 'curent_status_line'; } else if (element.payload == 'Сценариев' && element.value == '14') { classNameActive = ['curent_status_line', 'clicked-value-active'].join(' '); classNameAll = 'curent_status_line'; classNameNonactive = 'curent_status_line'; } else if (element.payload == 'Сценария' && element.value == '3') { classNameAll = 'curent_status_line'; classNameActive = 'curent_status_line'; classNameNonactive = ['curent_status_line', 'clicked-value-nonactive'].join(' '); } else { classNameAll = 'curent_status_line'; classNameActive = 'curent_status_line'; classNameNonactive = 'curent_status_line'; } }; переписать на свитч-кейс?
Китикет
google "classnames js"
Вот кстати да
Dwight🫀
спасибо ребята, но я очень невнимательный
Dwight🫀
у меня на onChange было другое событие
Burado
Кто-то знает способ отображения pptx в react?
Ruslan Yumakaev
Office365
У офиса есть апи?
Max
Как можно заюзать тег как значение в js? const Component = props.mask ? ReactInputMask : input return <Component value=‘wtf’ /> Ругается input is not defined
Артем
так либо в input тебе что-то вроде (props) => <input {..props} /> либо сразу const Component = props.mask ? ReactInputMask : <input {...props} />
Max
Реф
реф появляется после маунта, а мне надо выбрать класс компонента Артем, у тебя в коде микс класса и инстанса 🙂
Павел
Код бы
Max
обновил код в первом сообщении вообще обновил инпутмаск, и собственно уже не очень актуально - юзаю его везде, но было бы интересно на будущее решить вопрос
Eugene
нагуглил только такой вариант 🤔 <Child tag="h1" /> const Child = ({ tag: Tag}) => ( <Tag>Hello World</Tag> )
Eugene
интересно в tag= можно передать свой компонент? по идеи должно работать 🤔
Артем
нагуглил только такой вариант 🤔 <Child tag="h1" /> const Child = ({ tag: Tag}) => ( <Tag>Hello World</Tag> )
А тут разве нет ошибки? В данном случае ведь Tag - как тип, а не переданный параметр, не?
Max
пропс же { tag: Tag}
а тьфу, это не тип, чот совсем в глаза долблюсь
Eugene
https://codesandbox.io/s/strange-sara-w996x
Max
const Component = props.mask ? ReactInputMask: 'input’ заработало, всем спасибо
Max
лол)
угу 🙂
Артем
Тем более это не TS
Да, сори, малешка не проснулся )))
Denis 🇺🇦
кто знает ангельский переведите Its usefulness is orthogonal to the target low-level view API paradigm.)
Vlad
Google translate?
Андрей
кто знает ангельский переведите Its usefulness is orthogonal to the target low-level view API paradigm.)
Его полезность никак не связана с ... и далее по тексту, потому что без контекста это не переводится.
Андрей
Стало понятнее
Ты не знаешь что такое слово "ортогональный"?)
Denis 🇺🇦
Ты не знаешь что такое слово "ортогональный"?)
знаю, но значение в котором оно употреблено тут ты подсказал
Андрей
знаю, но значение в котором оно употреблено тут ты подсказал
Это круто. Мало кто ныне знает что такое скалярное произведение.
Denis 🇺🇦
мало кому это полезно и нужно)
Alex
Народ, подскажите плз в какую сторону смотреть. Есть массив элементов. Их надо вывести и по клику на кнопку переключать фон у активного. Если иду "в лоб", то на каждую смену активного элемента происходит полный рендер массива, что явно не tue. Как при смене активного элемента перерисовывать только два (предыдущий и новый) ? Уже переписал с useMemo, но все равно на каждый клик идет обход всего массива. Код тут https://codesandbox.io/s/react-usememo-usestate-ooyz2
Василий
а причем тут useMemo? важно здесь разбить список который рендерит мапу и сами элементы мапы на разные компоненты
Василий
в итоге каждый *Item будет memo, и если только у него поменяется isActive он поменяется
Василий
Дак вроде как разбито на компоненты.
закинь код на codesandbox) у тебя либо функция установки активности элемента меняет свою ссылку, либо айтемы не мемо
Василий
https://codesandbox.io/s/react-usememo-usestate-ooyz2
https://codesandbox.io/s/react-usememo-usestate-54wu7
Василий
https://codesandbox.io/s/react-usememo-usestate-ooyz2
ты очень плохо заиспользовал useMemo, не надо так)