Sm•ok
не стоит. зачем он там ?)
Sm•ok
@sovasergey
Igor
fast-deep-equals и у компонента shallow comparison вроде, мне кажется deep equal будет быстрее
Igor
не стоит. зачем он там ?)
например при рендере страницы компонент рендерится 5 раз, при этом пропсы не меняются - триггерит контейнер ререндер
Sm•ok
Хз, надо знать подробнее, стоит ли это вообще
Anonymous
я думал, что здесь запрещена реклама
Igor
контейнер же в коннекте принимает больше пропсов, отсюда и ререндер. Сразу все оптимизировать не могу, т.к задач много и очень трудозатратно переписывать логику
Sm•ok
не видел еще чтобы deepEqual делали
Sm•ok
дорогой перерендер ? просто если ты собрался делать везде так, то не думаю что хороший тон
Igor
не везде, у меня есть компонент header, к примеру, там тайтл с названием страницы и иконка с именем, клик по которой триггерит анимацию на отображение меню пользователя, где есть пункты меню с выходом, редактированием и список связанных аккаунтов с live поиском
Dmitriy
я думал, что здесь запрещена реклама
нормальная запрещена, а такой отстой сам загнется)
Igor
вот на сам компонент header накинул memo, другие вещи я разбил на много мелких компонетов и у них нет ререндера в пустоту
Igor
и хочется как то проверить свои догадки о том, что я хотя бы оптимизировал в лучшую сторону) Поэтому и спросил пол замер времени рендера
Sm•ok
Мне кажется в IT чатах люди чуть умнее валенок, и не ведутся на такие вещи. Ищи другие чаты С фанатами элджея
Igor
Мне кажется в IT чатах люди чуть умнее валенок, и не ведутся на такие вещи. Ищи другие чаты С фанатами элджея
ну это ещё норм. вот когда предлагают пассивный заработок в интернете, я улыбаюсь)
Sm•ok
Я больше по схемам вулкана
Bogdan
методы focus больше нету?
Bogdan
как тогда фокус выставить?
Андрей
методы focus больше нету?
Почему ты считаешь что нет?
Max
методы focus больше нету?
Проверку на null сделай появится.
Nikita
Проверку на null сделай появится.
Разве? Рефы же не очень типизированы. Или это тс?
Bogdan
Разве? Рефы же не очень типизированы. Или это тс?
это вскод тупил, не подсветил метод, но проверку поставил и работает
Igor
в общем чето я не нашел как замерить что лучше, с реакт мемо или без
Igor
профайлер бесполезная тулза в таком случае
Daniil
в общем чето я не нашел как замерить что лучше, с реакт мемо или без
Ну мне кажется разве что пытаться ковырять палкой через перфоманс вкладки тулзов
Dmitriy
Хм а почему я забанен в группе css) как узнать?
Stepan
Хм а почему я забанен в группе css) как узнать?
попробуй хозяина группы спросить) нужной
Igor
const AppPage = React.memo( ({ children }) => children, (nextProps, prevProps) => nextProps.pathname === prevProps.pathname ) <AppPage pathname={p_.pathname}>{p_.children}</AppPage>
Igor
как вам такой костыль при рендере страницы в компоненте app, до этого было 5 рендеров при загрузке страницы, сейчас сделал рендер 1 раз если путь не менялся, потому что нужные connect есть внутри страниц
Igor
вообще конечно правильно сделать чтобы App не ререндерился, но внутри него есть и меню, и нотификации и т.д, App же приконекчен к некоторым данным в сторе
Igor
А key не катит?
не, точно не подойдет
Sm•ok
Окей
Igor
консоль логами, знаю что бред, но children не зависит ни от каких данных внутри app
Igor
поэтому нужный апдейт произойдет тогда, когда он должен произойти)
Anonymous
Привет народ! Я только планирую начать изучение Реакта, может кто посоветует хорошую литературу по сабжу?
Anonymous
доку уже прочел?))
Только собираюсь) просто мало ли, вдруг есть какие-то крутые книги/мануалы, которые круче доки)) сам я закоренелый бэкендщик, решил взяться и за фронт
アレクサンダー・バキマトフ
Только собираюсь) просто мало ли, вдруг есть какие-то крутые книги/мануалы, которые круче доки)) сам я закоренелый бэкендщик, решил взяться и за фронт
дока у реакта очень хорошая, ну и понятное дело самая актуальная инфа там, так что лучше всего с нее)
Anonymous
Понял, спасибо, буду курить доку))
Igor
По какому принципу работает react.lazy? Только ленивая подгрузка компонента?
Igor
не сильно понятен кейс использования
Igor
и то я думаю что раз юзать лейзи, то тот кусок, который подгружается - будет весить в совокупности больше, чем в одном бандле
Nick
не сильно понятен кейс использования
Так не бывает. Представь у тебя соц сеть. Ты зашёл на страницу новостей. Остальные страницы вообще не существуют. Только по роуту загрузится. Это наоборот легче и быстрее для первой загрузки.
Igor
Допустим, но это разве не уменьшит скорость в целом? Ведь при первых подгрузках других страниц скорость будет проседать
Nick
Но как пишут, надо грамотно расставлять подобные лейзи загрузки, чтобы если возникла подгрузка, то выглядело естественно. Прелоаодер опять же.
Igor
проще загрузить один раз 2 мегабайта например, но это не важно, если SPA
Dartess
и то я думаю что раз юзать лейзи, то тот кусок, который подгружается - будет весить в совокупности больше, чем в одном бандле
Я вывел в отдельные чанки те части, которые доступны только определенным ролям, либо редкоиспользуемые страницы. Абсолютное большинство пользователей теперь получают приложение гораздо быстрее. 2мб грузить легко, трудно потом это парсить и выполнять. Так что не надо так.
Igor
хм
Nick
Дело бывает не в весе как таковом, а в сложной логике вычислений. Что тоже приводит к задержкам. Которых можно избежать.
Dartess
То что отдельные бандлы будут больше весить, это экономия на копейках, кстати. Там мизерные цифры разницы.
Daniil
Ладно у тебя админка, а если твое приложение требует ранжирования, конверсии и довольного пользователя. И дохуя еще мелочей
Igor
Надо глянуть как с роутером связать, есть определенные страницы которыми пользователи редко пользуются
Mikhail
Народ, сори что вопрос не по реакту. Кто-нибудь может кинуть ссылкой или командой, как установить 2 разные версии нпм-пакета в проект одновременно?
Andrey
я согласен, нет смысла бить бандл на чанки, если небольшое приложение
Daniil
особенно если нужна поддержка сео
Daniil
там ужас до сих пор с поддержкой ssr
Нет. У нас они крутились на проде - проблем не было. Но в итоге все равно сидим пока на мамонте react loadable.
Daniil
https://github.com/smooth-code/loadable-components ?
Да, для код сплитинга подобные вещи могут подойти.
Pavel
Вечер добрый. Начал изучать redux и возник такой вопрос. Например у меня на сайте есть обычное выпадающее меню. Его открытие и закрытие тоже нужно пробрасывать через redux и хранить его стейт. Или писать его открытие просто через хранение состояния в локальном стейте ?
Anton
если от меню ничего не зависит в остальной части приложения, обычно это в 99% случаев, используем обычный стейт