🦜
что же вы все стремить так говна то пожрать всякой легаси хуйней бля
Denis
или есть пакет отдельный, называется classnames, но хз конечно стоит ли тянуть его для этой цели
Denis
что же вы все стремить так говна то пожрать всякой легаси хуйней бля
ну тут чуваку явно не для прода, так что можно и похавать)
Юрий
подскажите, как можно реализовать поиск по юзерам. Импут для поиска, внизу выводиться весь список юзеров. по идее как только начинаешь писать в импут, список меняется в зависимости от набранного текста. Рассматривал React-select. но в нем как я понимаю юзеры могут только отображаться в выпадающем селекте.
andre
ето вроде базовая фишка
andre
Юрий насколько я понял.
Юрий
если нет бэка - просто фильтруй пользователей в зависимости от совпадения по набранному тексту
ты имеешь ввиду обычный импут, внизу рендер всех юзеров, как только начинаешь писать, делать экш который делает фильр? тем список обновляется
Yury
но это если у тебя на фронте все пользователи уже есть
Ruslan
кто-то умеет на gitlab подымать проект react + express + mongo, чтобы были всё было настроено удобно и хорошо для разработки и продакшена?
Юрий
но это если у тебя на фронте все пользователи уже есть
это будет модалка с поиском, я думаю на useEffect сделать запрос на получение и закинуть в стор
Artur
Ребята, как указать что все потомки в див должны пойти? <div> { !isMobile ? <WrappedComponent {...this.props}/> : <div>{children}</div>}
Michail
Кто имел дело с созданием своих значений Color для компонентов Material UI?
Андрей
кто-то умеет на gitlab подымать проект react + express + mongo, чтобы были всё было настроено удобно и хорошо для разработки и продакшена?
Можно, но это настолько запарно, что я думаю аж доклад на минут 30 сделать, где полностью всё рассказывается.
Artur
Чьи потомки?
Потоки этого DIV, которые у него будут при монтировании. Одним словом при флаге мне нужно либо оборачивать Компонентом либо Оборачивать дивом. Как делается?
Artur
const Wrapper = condition ? “div”: Component <Wrapper> и тд
То есть так { !isMobile ? <WrappedComponent {...this.props}/> : <div>}
Тимофей 🛴
Nikita
Вопрос по тсу в реакте. Есть компонент который принимает дженерик Item который идет в пропсы и стейт: class SearchList<Item = string> extends React.PureComponent<SearchListProps<Item>, SearchListState<Item>> Как правильно типизировать getDerivedStateFromProps? Пробую так: static getDerivedStateFromProps(nextProps: SearchListProps<Item>, prevState: SearchListState<Item>) Ругается: Static members cannot reference class type parameters
Тимофей 🛴
То есть так { !isMobile ? <WrappedComponent {...this.props}/> : <div>}
const Wrapper = condition ? “div” : Component; return <Wrapper>{this.props.children}</Wrapper>
Тимофей 🛴
Artur
Я просто упростил
значит return <Wrapper/>
Тимофей 🛴
значит return <Wrapper/>
А ну в твоем кейсе вместо children WrappedComponent
Atsuta
Принял
Логинов
Всем привет! Есть вопросик, как лучше всего сделать модальное окно с динамическим контентом (что бы туда компанеты вставлять + пропсы для них). Как лучше это сделать???? Заранее спасибоЁ
Логинов
да вот я реализовал...ну мне кажеться что не так! ))))))))))))
Логинов
компанету модал вызывать необходимо из разных компанентов
Archakov
Посмотри исходники других компонентов модальных окон и просто реализуй по такому же принципу
Логинов
для это го в редакс кинул свойство отвечающие за видимость
Логинов
ок
Vjačeslavs
Ребят, по какой причине State у функции с хуками может самостоятельно вычищаться? Гляжу отладчиком компонентов, данные записаны в состояние, в следующую операцию обращения к этим данным - спустя длительное время даже с поправкой на асинхронность - данные пропадают. Или я чего-то совсем не понимаю в State, или что за НЕХ происходит?
Vjačeslavs
Ни по какой.
Но ведь это происходит, хотя нет ни одного set, который бы возвращал к значению по-умолчанию
GG
а мутабельно можно удалить стейт по ссылке? 🤔
Archakov
для это го в редакс кинул свойство отвечающие за видимость
Если тебе в зависимости от параметра нужно рендерить какой-то компонент в модалке, то юзай в редаксе свойства видимости модалки и что за компонент должен отображаться. Типа: visibleModal = true; modalType="userLogin" по ним и юзай нужный компонент `const modalComponent = { userLogin: UserLoginComponent }; render() { return modalComponent(props) } ` как один из вариантов
Андрей
Но ведь это происходит, хотя нет ни одного set, который бы возвращал к значению по-умолчанию
Как думаешь, без кода можно как-нибудь тебе помочь по сообщению "у меня творится неведомая непонятная ебанина, помогите"
Vjačeslavs
Как думаешь, без кода можно как-нибудь тебе помочь по сообщению "у меня творится неведомая непонятная ебанина, помогите"
Я не могу скинуть сюда код, так как он подпадает под NDA, да и куски кода с проблемой можно описать одним setState(data) в одной функции и получением undefined при обращении к state из другой функции, запускаемой вручную
Логинов
и из любого команета приходиться писать что типа const handlerClick = (id) => { props.setIsOpen(!props.modal.isOpen, 'Child2', id) };
Yury
NDA на компонент 🙄
Тимофей 🛴
GG
Или обратился к стейту до его установления
Олег
Друзья, сколько примерно времени займет написание компонента мультиселекта с нуля, с возможностью поиска у среднестатистического мидла?
GG
Яб за пол дня сделал бы
Олег
Спасибо
Roman
зависит от требований. как на счёт доступности с клавиатуры?
Yury
наверное с версткой провозился бы дольше ((
Anonymous
еще немного нубский вопрос: приложение, созданное через CRA скомпилируется, если переименовать .js файлы в .jsx? Просто vs-code спотыкается об теги после того как его закроешь-откроешь, нужно вручную каждому файлу переуказывать тип на "JavaScript React"
Anonymous
Андрей
привет! насколько я понял, сюда можно писать запросы о помощи за $? если да, то есть у меня проблема, которую я бы попросил решить. напишите в лс, плз
Vjačeslavs
Вот код вкратце `const [enabledList, setEnabledList] = useState([]); fetch(url) .then((test_data) => test_data.json()) .then((test_res) => { ... ... setEnabledList(test_res.list); } ... вызываемый по кнопке хэндлер function itemClickEnabled(sender) { //До этого момента список хранится в стейте console.log(enabledList); //Вывод пуст и стейт тоже очищается }`
Vjačeslavs
попробуй вместо function, сделать стелочную 🤷‍♂️
onClick={() => { console.log(enabledList); }} Также выводит пустой список
GG
Вот код вкратце `const [enabledList, setEnabledList] = useState([]); fetch(url) .then((test_data) => test_data.json()) .then((test_res) => { ... ... setEnabledList(test_res.list); } ... вызываемый по кнопке хэндлер function itemClickEnabled(sender) { //До этого момента список хранится в стейте console.log(enabledList); //Вывод пуст и стейт тоже очищается }`
тут все ок, но у тебя в коде может быть все что угодно, вплоть до граматической ошибки, одну букву по руски напишешь и все. поэтому напиши свой код на кодсандбоксе, и покажи нам проблему, уверен на 80% что на кодсандбоксе она у тебя не воспроизведется
Alex
да ладно ещё все повыдергиваем из него и сопрем идею
Roman
да ладно ещё все повыдергиваем из него и сопрем идею
я уже спер, теперь у меня так же не работает
Alex
рофлю если что , так что смело выкладывайте на sandbox , удобный инструмент
Vjačeslavs
У меня есть подозрение, что я понял почему оно не работает
Vjačeslavs
ты же в курсе как асинхронность в жсе работает? выглядит как будто ты с ней наебался
Если мои подозрения верны, то наебался я с асинхронностью, но очень для меня не очевидно
Alex
уже бы копипастнул бы и дал людям посмотреть
Bogdan
вот такое роутер конфиг не понимает что ли?
Vjačeslavs
Т.е. проблема возможно в том, что я передавая в хендлер функцию передаю её с параметрами, которые не указатели, а как бы сохраняют свое состояние на момент передачи
Виктор
ванги все еще в отпуске
GG
ванги все еще в отпуске
не. я сразу это предвидел)
Bogdan
вот такое роутер конфиг не понимает что ли?
в GrandChildHome заходит, но на роут /create , /edit уже нет