Bakdaulet
Кто нибудь знает как можно в Select компонент добавить Checkbox(использую Material UI). У меня просто массив состоит из 80 обьектов(как дерево). Буду рад если подскажете или поможете
Ilya
аккурат имеется стилистика Material UI https://dowjones.github.io/react-dropdown-tree-select/#/story/with-material-design-styles
Bakdaulet
Спасибо, щас попробую
Павел
Прошу помощи. Пытаюсь понять redux. Застрял на создании action. В приложении без редукса переход между панелями происходит при смене ID активной панели в стейте приложения. Ну и по функции переход происходит. Как эту логику на редукс переложить...
Ivan
https://redux.js.org/advanced/usage-with-react-router
Человек только учится в редакс, у него нет роутера, не надо забивать. По-хорошему, конечно, нужно использовать connected-react-router.
Павел
Да. только учусь. И роутера нет. И вариант сделать без его использования хотелось бы. попробую через стор и ID. потом и до роутера доберусь. Спасибо.
Андрей
Привет) подскажите с формиком, есть такой код. как сделать, если ошибка, чтобы данные вернулись обратно? 1. ProductNumber есть цифра. Когда ее стираю, ошибка есть. Но и поле пустое, как сделать, чтобы вернулось старое значение?
John
Как можно выставлять key для HOC-компонентов, выводимых в цикле? Сейчас сделал залипуху в виде оборачивания в div, но мне это очень не нравится: <div key={ element.id }> { SingleFileContainerDragNDrop( singleFileContainerProps )( props.singleFileContainer ) } </div>
Vadim
Не понял
https://ru.reactjs.org/docs/higher-order-components.html#dont-use-hocs-inside-the-render-method
John
Чёрт...
Varser
Ребят, последний день заявок для спикеров #JSConfAM19 ! http://bit.ly/speakforJSConfAM19 Admin: @sovasergey
Oleg
может кто напомнить, как передать проп чайлду в глубину? там вроде контекст использовался, так?
Андрей
может кто напомнить, как передать проп чайлду в глубину? там вроде контекст использовался, так?
Да, через React Context API можно передать любые значения любому чайлду в глубину
Archer
есть те кто работал с react-table? как сделать так чтобы не рисовалис вторые headers у каждой колонки? если его не передать то там просто пустой tr рисуется https://codesandbox.io/s/tannerlinsleyreact-table-column-resizing-88llc
TK
добрый день,не получается вывести картинку.Самое главное в console.log src выводится а когда в img src= делаю то не выводится.В чем причина?
Sergey
кавычки убери
Sergey
<img src={currentBid……..src} /> ты же просто строку создал с фигурными скобками
TK
див всё равно пустой
Sergey
Sergey
короче читай документацию
Day
У тебя форич
Alexey
Гайз, а есть какой-то красивый метод чтоб className на компоненте автоматом мержился с классами рутового элемента в компоненте? Так чтоб это один раз настроить и работало на всех компонентах... Запарился уже писать className в пропсах
Oleg
помогите понять контекст. const MyContext = createContext(['one', 'two']); ... const Wrapper = () => { return ( <MyContext.Provider value={['three', 'four']}> <mycomponent /> </MyContext.Provider> ); в MyComponent -> <div> <Another /> </div> где я должен увидеть контекст в чайлде? в пропсах нет.
Alexey
classNames библиотека есть
Она решает проблему мержа, но все равно приходится описывать этот проп и ручками писать classNames('myclass, props.className)
Oleg
const Another = (props, CONTEXT) => ...
ну... там пустой объект.
Sergey
ибо задача кривая. Возникла из-за непонимания кейса
Sergey
переопределять классы у всех компонентов это максимальный антипаттерн
Sergey
надо управлять отображением компонента через пропс
Oleg
const Another = (props, CONTEXT) => ...
включая первый же чайлд (MyComponent)
Oleg
нашёл пример. контекст нужно экспорить туда, где его используют? при этом использовать consumer?
Alexey
переопределять классы у всех компонентов это максимальный антипаттерн
Я не говорил переопределять. Задача заключается в применении БЭМ методологии, компонент, который является Блоком, может быть использоват в другом Блоке, в качестве Элемента и получать класс элемента, к примеру для позиционирования внутри бОльшего блока
Sergey
или ты хочешь элементам прописывать кастомные классы?
Alexey
или ты хочешь элементам прописывать кастомные классы?
Да, добавлять классы при необходимости, предположим что мне нужно взять компонент из библиотеки Х и он подходит на 100%, но мне нужно в конкретном месте его как-то по особенному спозиционировать
Oleg
https://ru.reactjs.org/docs/hooks-reference.html#usecontext
в доке нифига не понятно.
Sergey
https://ru.reactjs.org/docs/context.html
Oleg
useContext + Context.Provider
точно... вроде оно. правда, странно, что контекст нужно экспортировать. но value то. спасибо!
Ivan
чем заменить такую запись в фунциональных компонентах?
так здесь вы тоже контекст экпортируете, разве нет?
Oleg
так здесь вы тоже контекст экпортируете, разве нет?
это пример. мне это показалось странным, потому что я в доке этого не заметил.
Ivan
это пример. мне это показалось странным, потому что я в доке этого не заметил.
ну вот прикиньте — ваше приложение завёрнуто в контекст с цветовой схемой, в контекст с локалью и в контекст с чем-нибудь ещё значения из какого контекста должна возвращать функция useContext?
Alexey
это вообще мимо. Ибо ты говоришь в своей библиотеке добавить возможность переопределять классы
Еще раз повторюсь, мне нужно их переопределять, мне нужно их добавлять к существующим. И библиотека может быть рандомная
Ivan
ну... из провайдера.
Приложение завёрнуто в три провайдера
Alexey
Ну так опишите конкатенацию на корневом элементе. В чем проблема то?
Вопрос заключался в том как это сделать глобально и один раз, чтоб все компоненты имели возможность работать с этим поведением
Max
Хочу свалить со styled если заменю тупо импорты на import styled from '@emotion/styled’ будут ли проблемы?
Vladyslav
Ребят, есть вопрос по поводу facebook graph api. Мне нужно апгрейднуть его на react вебаппе с версии 2.12 до 4, означает ли это, что я просто должен поменять в init методе версию на 4.0 или нужны еще какие-то телодвижения? window.FB.init({ appId: FACEBOOK_AUTH.appId, cookie: true, xfbml: true, version: 'v4.0', });
Oleg
Приложение завёрнуто в три провайдера
ну по идее, из последнего. ну, в целом, я вроде понял, как это работает. спасибо.
Max
Лагает что-то?
К ним тайпинги долбоебы пишут. Они @types/react-native тянут за собой, воркараунд есть но он ломается иногда. A @types/react-native ломают сборку под веб
Bohdan
токсик
Ivan
ну по идее, из последнего. ну, в целом, я вроде понял, как это работает. спасибо.
Пример из жизни: у меня приложение завёрнуто в три провайдера — редакс, роутер и темы material-ui. Было бы странно, если бы все конечные ноды имели доступ только к темам и не имели бы доступ к роутеру и редаксу, ведь так?
Ivan
так это хоки. разные.
Так они же через контекст передают свои данные и функциональность — иначе никак
Oleg
Так они же через контекст передают свои данные и функциональность — иначе никак
ну, не через контекст. или не через тот контекст, о котором я думаю (реактовский api). иначе пропы редакса можно было бы передавать только в родителе.
rovnyart
ребята, привет, кто работает с material-ui, не сталкивались с таким вот артефактом компонента Switch? вообще не могу догнать, че его так перекосоебило, стилей специальных нет, настроек темы для него нет, мб было у кого?
voix
Редакс как мне кажется усложняет Эффекторы/реатом в топку
С чего такое решение? В эффекторе гораздо меньше бойлерплейта, он очень простой и удобный. И думать о том, зачем тебе санки или сага тоже не придется.
Ivan
ребята, привет, кто работает с material-ui, не сталкивались с таким вот артефактом компонента Switch? вообще не могу догнать, че его так перекосоебило, стилей специальных нет, настроек темы для него нет, мб было у кого?
Часто в mui сталкиваюсь с артефактами из-за того, что не положил компонент в какую-нибудь mui-обёртку. Скопируйте целиком свитч из примера в документации, а потом убирайте лишний код понемногу.
rovnyart
да, конечно, в самом вверху, первый чайлд MuiThemeProvider
Sergei
подскажите почему не может не кешироваться функция ? const renderPassItem = useCallback( () => { console.log('render'); return data.map(pass => ( <UserPassItem key={pass.id} pass={pass} toggleModal={toggleModal} /> )); }, [], );