Yury
компонент отрисовки
Viacheslav
G.
косяк в том, что при вызове this.setState({testdata: result.data}) ремаунтится компонент Ping
Потому что у тебя же render компонета App вызывается. Вообще этот state лучше бы поместить внутрь BrowserRouter в какой-то из чайлдов
Yury
Потому что у тебя же render компонета App вызывается. Вообще этот state лучше бы поместить внутрь BrowserRouter в какой-то из чайлдов
т.е. лучший подход - выделить корневой компонент и там держать только роутер, а все остальное в чайлдах?
Yury
я просто думал что у реакта типо умный рендер, который перерисовывает только то, что надо
Yury
и где с таким подходом вебсокет размещать? тоже в чайлде?
G.
т.е. лучший подход - выделить корневой компонент и там держать только роутер, а все остальное в чайлдах?
Я на счет BrowserRouter точно не помню, но думаю он должен быть где-то наверху, и лишний раз не пересоздаваться
Alexey
я просто думал что у реакта типо умный рендер, который перерисовывает только то, что надо
Умный. Реальный дом изменяется только когда это необходимо. Подобные оптимизации применяются для уменьшения пересчетов виртуального дома
G.
и где с таким подходом вебсокет размещать? тоже в чайлде?
Само использование вебсокета лучше вообще не в компонете, а вынести отдельно. В крайнем случае сделать отдельный компонент который будет с ним взаимодействовать. У тебя же там есть redux вроде?
Yury
Умный. Реальный дом изменяется только когда это необходимо. Подобные оптимизации применяются для уменьшения пересчетов виртуального дома
ну так у меня меняется стейт только одного итема, который рендерится с ключами, но тем не менее кроме него ререндарятся еще другие компоненты
G.
есть редакс. не в компоненте это как?
есть redux middleware, типа thunk, saga, вот в них. как-то видел и для вебсокета готовые middleware, сейчас не вспомню
Китикет
Т.е., будете плакать и делать самописные формы, вместо того, чтобы formik брать?)
Ilya
Когда проект вырастает, то стараешься наоборот избежать лишнего количества либ и держаться на React + Redux. Возможно, я не прав, но встречал пока подход такого рода
по-моему как раз таки наоборт стоит делать. Если проект большой, то специфические задачи(к примеру формы) лучше отдавать сторониним, хорошо документированным решениям
Ilya
в то время как клиетский код дожен быть направлен на решение конкретных бизнес задач
arts
@ZeroBias
G.
ну так у меня меняется стейт только одного итема, который рендерится с ключами, но тем не менее кроме него ререндарятся еще другие компоненты
У тебя в App в state меняется весь массив testdata, вызывается render метод, и все что в нем будет обновляться, какие-то компонеты не будут апдейтиться, какие-то в DOM не будут изменены, но Роутер этот скорее всего не стоит ререндерить
Looch
Ребзи а чем fork в саге отличается от обычного yield*
Looch
Типо во втором случае оно не вернется в родительскую таску ? А так и заглохнет где-то в дочернем генераторе ?
Sabit
кто нибудь посоветуйту хороший видеокурс по React на русском языке
Китикет
кто нибудь посоветуйту хороший видеокурс по React на русском языке
Вот хороший видеокурс: https://reactjs.org А вот он же на русском: https://ru.reactjs.org (но лучше смотреть на английском)
Arthur
тогда там поломается всё. так-то это решило бы всю головную боль..
Vladislav
а, тогда лажа, да. ну, хз. гуглеш подсказал react-sticky-el
King
Всем привет, кто использует тришейкинг вебпака, нужно ли вырубать преобразование импортов модулей от бабеля?
Looch
ох уж эти блокирующие апдейты
Ну в этом же и смысл форма, что б уйти в другой генератор а потом вернутся в родительский и продолжить выполнение
Looch
Тем более вроде можно ж сразу несколько форков запустить и оно пойдет дальше как только выполнится самый долгий
Дима
неблокирующие операции ничем не отличаются кроме невозможности подобных проблем 🤷‍♂️
Looch
я к тому, что суть блокирующих операций как раз в том чтобы глохнуть))
Ну да оно только один раз отработает и заглохнет без while true или takeEvery
Looch
Promise.all редух-саги решают проблемы которые не существуют уже много лет
Да асинк функции решают 90% проблем который должны решать саги
Looch
Генераторы хоть и могут замораживать свой вызов, в памяти в итоге все равно висят и может тебе и не нужно поведение когда они постоянно чет перехватывают
Looch
Короче генераторы для итераторов и все
Looch
А реакт для редакса
Nazar
Как лучше всего организовать такой движ, есть протектед роут, в нем проверяется есть ли токен в приложении и отображает либо компонент, либо редирект делает на /login, у меня такая логика, что на /login и /registration всё что есть это формочка, а в приложении есть менюшка с навигацией типа /, /main, /item22
Tuum Daemonia
хочу чтобы к текущему path (http://localhost:3000/ например) прибавлялся query (планирую так модалки реализовать). Текущий path мб любым Компонент с кнопкой, открывающей модалку внутри Route
Tuum Daemonia
Как реализовать?
Tuum Daemonia
кстати, query уже может существовать в path
FSA
Ребят зачем нужен connect-react-router?
Anonymous
Ребят зачем нужен connect-react-router?
Чтобы управлять роутингом из редакс. А также не размещать логику в теле компонентов
Tuum Daemonia
https://codesandbox.io/embed/yq2wz8okxx
важно чтобы это не было зависимо от текущего path и важно чтобы сохнялся тот query что есть
Yury
А кто-нибудь драг&дроп интерфейс пилил? Примерно как в трелло. Есть для этого либы интересные?
Artem
Привет, подскажите как можно сделать focus если на инпут то и стили менять лейбла к инпуту с использованием стайлед компонентс?
Vadim
onBlur или как там меняешь обратно
Yanis
Добрый вечер) Помогите пожалуйста с проблемой, уже часа 3 сижу... Проблема в action create-ре, я из саги возвращаю обьект, кастомный, так как это не просто запрос по api и там не JSON, как мне прописать в createActions, что бы я получил обьект обратно? Сейчас там вечно Undefined прям перед заталкиванием в сагу проверяю, что там действительно что то есть.
Yanis
Проект react-native, redux, saga, reduxsause. Возникла проблема при проброске из саги через action-creator инфы, во всех манах в основном обрабатывают json, а что если обьект, как его можно пробросить. В данный момент я получаю на выходе всегда undefined, хотя в саге объект точно не пустой.
Yanis
Вопрос если короче, какие праметры нужно указать тут: const { Types, Creators } = createActions({ fetchToken: null, fetchTokenLoading: null, fetchTokenSuccess: null, fetchTokenFailure: ['errorMessage'], })
Vlad
Друзья, кто-нибудь использовал одновременно Apollo вместе с Redux? Как оно вам?
Mikhail
чем плох react-beauty-dnd ?
Довольно жирный, а так вроде ничего
Looch
только для списков
Yanis
Покажи сагу
https://pastebin.com/quTgP0Kr
Yanis
Пофиксил доступ
G.
Вопрос если короче, какие праметры нужно указать тут: const { Types, Creators } = createActions({ fetchToken: null, fetchTokenLoading: null, fetchTokenSuccess: null, fetchTokenFailure: ['errorMessage'], })
const { Types, Creators } = createActions({ fetchToken: null, fetchTokenLoading: null, fetchTokenSuccess: ['tokens'], fetchTokenFailure: ['errorMessage'], })
G.
Точнее не 'tokens', а 'token' так как в reducer у тебя token
Volodymyr
Народ всем привет, кто что использовал для Инфинити скролла ?
Yanis
Точнее не 'tokens', а 'token' так как в reducer у тебя token
Вы мой спаситель, хотя я вроде так делал, но сейчас оно заработало)))
Yanis
Ок)
Спасибо)
Volodymyr
https://www.npmjs.com/package/react-infinite-scroller
Работает нормально на всех устройствах ?
Aleksey
Работает нормально на всех устройствах ?
Да вроде как да Ещё как вариант свое решение написать, там не сложно
Volodymyr
Да вроде как да Ещё как вариант свое решение написать, там не сложно
Та я просто не хотел заморачиваться, потому что если самому делать там же вроде как надо высчитывать высоту родителя.
Eugen
расскажите, кто как реализует сессии для реакт приложений:?)