Timofey
<i className={classnames(styles.icon, {[styles[`icon-${item.icon}`]]: item.icon}) }> </i>
Timofey
мб `` не хватало?
zerocool
мб `` не хватало?
Это телеграмм обрезал
Timofey
а какой ты результат то хочешь получить?
zerocool
а какой ты результат то хочешь получить?
<i class="Item_icon__1AZQ8 Item_icon-user__1AZQ8"></i> что то похожее
Timofey
Uncaught ReferenceError: classNames is not defined
ну у тебя они обозначены как classnames)
zerocool
<i class="icon icon-users"></i>
Denis 🇺🇦
Реактоведы
Denis 🇺🇦
вы делите компоненты на контейнеры и презентационные в 2к19?
zerocool
ну у тебя они обозначены как classnames)
а мне нужно <i class="Item_icon__1AZQ8 Item_icon-user__1AZQ8"></i>
Aleksey
Всем салют, случаем не знаете, есть какой-то сайт , где можешь вбить имена пакетов, а он тебе выдает их совместимость ?
Nikita
https://sun9-21.userapi.com/c854424/v854424721/115f8b/sd2wV-HCGUE.jpg Подскажите, есть ли готовый плагин для такого? Если нету , как это лучше было бы реализовать для даальнейшего переиспользования Тобишь мне нужно подписывать компоненты на систему туториала после того как тутор пройден сайтом можно пользоваться.. Однновременно могут подсвечииваться 2 элеменнта. Модалка всегда одна
Nikita
Я в реакте не очень спец. Но вижу себе это так имеею ХОК функцию, в компоненты кидаю подписку на нее, после маунта аппликейшена запускаю тутор который передает нужные пропсы в подписанные компоненты
Aleksey
Имеется ввиду, чтобы проверить, ляжет ли версия пакета на версию реакта. Просто обновил реакт, предложение бандлится, но экран белый, в консоле ошибка, вроде как кидает бутстрап, но какой именно: Bootstrap-table или bootstrap-switch и т.д... не понятно
Dmitry
Посоны какой толк от useCallback в рендере? В эффектах понятно. Там будет старая ссылка и эффект не тригернет. Но рендер то тригернет. Ибо пропсы то новые (не путать объект props и его ключи. Его ключи могут быть равны и с мемо не тригернется). А если без мемо? То все тригернет. И типа лол кек
Oleg
я правильно понимаю, в случае с классом ( class SupaHotComponent extends Component { constructor(props) { super(props); this.node = createRef(); } ) реф создаётся одна, а в случае с функцией ( const qweqwe = () => { const node = useRef(); } ) на каждый апдейт создаётся новый реф?
Oleg
Почти уверен, что нет
вот дока. то есть, нет? реакт запоминает?
Anton
Добрый день! Подскажите, пожалуйста: пытаюсь передать функциональный компонент как проп для другого компонент а, и уже в этом другом компоненте, вызывая этот фк, получаю ошибку Function components cannot be given refs. Attempts to access this ref will fail Что я делаю не так и как это нужно делать?
Anton
Anton
Anton
Функциональные компоненты не могут иметь реф
а реф в данном случае — это props.children? я просто в понятии рефа еще не очень ориентируюсь)
Dmitry
React.useRef()?
function Foo () {} <Foo ref=ref />
matthew
function Foo () {} <Foo ref=ref />
Так не могут, плюсую
MⅨ
Вот скажите что я делаю не так?
MⅨ
Anton
React.useRef()?
а как я могу выкрутиться из ситуации?
Dmitry
а кто там реф передает
Dmitry
класс юзать
Dmitry
Ivan
чуваки и барышни, я вчера набрёл на великолепный лонгрид от Дани Абрамова, там про хуки, про рефы эти ваши, про всю нутрянку и штуки внутри реакта читал и наслаждался всем советую https://overreacted.io/react-as-a-ui-runtime/
Roman
Коллеги, приветствую всех. Сталкивался ли кто-нибуть с обеспечением антифрода в реферальных программах? Буду очень благодарен за советы по лучшим практикам в этом вопросе)
Ivan
видимо долго брел )
ну я почитывал overreacted, но не все подряд посты и конкретно этот как-то пролетел мимо а должен в шапке висеть. всем и всегда этот пост теперь буду показывать)
MⅨ
https://codesandbox.io/embed/material-demo-ivhm1 Хелпаните переписать стиль Mui
Anton
класс юзать
сделал вот так, но результат тот же(
Ivan
извиняюсь, повторю еще раз вопрос. Очень благодарен буду за ответ
https://cutt.ly/JeyMV0M «тысячи» решений на любой вкус
Nikita
спасибо
MⅨ
https://codesandbox.io/embed/material-demo-ivhm1 Хелпаните переписать стиль Mui
Вроде я делаю всё правильно. И оно работает. Но потом MUI решает на active стиль, что сорян
Anonymous
сделал вот так, но результат тот же(
Хах, тоже жарился с рефами Седня ночью, заверни разметку в тэг нормальный(див, спан) и ему атрибут реф накидывай
Евгений
Привет всем. Ребят, у меня на проекте настроены редакс с сагой и get запросы логично делать через них. Но есть, например, запрос на создание/патч/удаление элемента, где в последних двух приходит просто статус ок/не ок. Есть ли смысл для этих запросов использовать саги? Нормальным будет подходом, если я их просто через axios внутри компонента буду дергать, а после пушить history, показывать сообщения о статусе и все остальное?
Ivan
спасибо
https://reactour.js.org жми Try it
Anonymous
какую конкретно разметку во что завернуть?))
const ref = useRef(); return( <Bar ref={ref} /> ) в const ref = useRef(); return( <div ref={ref}> <Bar ... /> </div> )
MⅨ
Вот зараза
MⅨ
да с**ка
🤴👷‍♂️🦸‍♂️🧚‍♀️
Привет. Подскажите как линтер в cra настаивать? Надо создавать .eslintrc?
Ivan
Привет. Подскажите как линтер в cra настаивать? Надо создавать .eslintrc?
https://create-react-app.dev/docs/setting-up-your-editor#experimental-extending-the-eslint-config
🤴👷‍♂️🦸‍♂️🧚‍♀️
Ivan
Чтобы весь асинхрон вынести в отдельный слой?
йеп и код, обрабатывающий всё вокруг асинхронщины, будет консистентным
Ivan
если у тебя есть сага, которая хватает все действия, инициирующие ajax, то в этой саге и только в ней одной можно реализовать логику всяких крутилок и тостов с сукцессом или эррором
Ivan
ну норм так делать или нет?
делай так, как написано в документации. так норм остальное — субъективно может оказаться прорывным открытием и ты получишь премию гитхаба. или дерьмом окажется. или nobody cares
Anonymous
😌 и не понял намеку
Евгений
йеп и код, обрабатывающий всё вокруг асинхронщины, будет консистентным
А есть какой-нибудь вариант как отследить внутри компонента, что выстрелил экшен success на удаление элемента, например. Чтобы можно было пушнуть history, которая связана со стором. Без дополнительных полей в сторе, типа deleted: true
Anton
😌 и не понял намеку
я не особо разбираюсь в рефах, потому мне не очень ясно, что делать если вы на примере моего кода покажете, что делать, буду очень признателен!
Евгений
то есть ты логику транспортного слоя изолируешь внутри одной саги и только в ней. удобно же, а?
Бесспорно, просто тут кейс появился, что после удаления элемента, надо чувака редиректить куда-нибудь, поэтому задумался
Ivan
а что мешает внутри той саги, которая обрабатывает response, делать history-push?
красиво же ложится у тебя вообще никакой логики (кроме локального стейта и всякой ерунды) нет в jsx, асинхронная бизнес-логика в сагах, синхронная — в редукторах (sic!)
Евгений
а что мешает внутри той саги, которая обрабатывает response, делать history-push?
Аааа, елы палы. Вот доку не прочитал подробно и не знал, что у connected-react-router есть push 🧐
Ivan
я не особо разбираюсь в рефах, потому мне не очень ясно, что делать если вы на примере моего кода покажете, что делать, буду очень признателен!
почитай лонгрид на overreacted — я скидывал чуть выше. начнёшь разбираться в рефах и будешь жить припеваючи
Иван
Можно сохранить текстовый файл у пользователя на компе через реакт? (ну и создать собственно этот файл из существующего текста)
Oleg
halp. пытаюсь понять, как использовать иммер. вот пример: const nextData = produce(state.data, (draftData) => { draftData[gridId].size[row][column].condition = defineExpression(c.condition) }) мне нужно изменить объект, который сидит глубоко. при этом мне нужен сам объект. что делать? писать draftData[gridId].size[row][column].condition = defineExpression(draftData[gridId].size[row][column].condition)?