Size: a a a

React — русскоговорящее сообщество

2020 September 24

DG

Dmitry Guzeev in React — русскоговорящее сообщество
Александр Бакиматов
а это как к реакту относится?
наверное это вопрос о React-компонентах, которые реализуют InputMask под btc
источник

ЕВ

Егор Водопьянов... in React — русскоговорящее сообщество
Егор Водопьянов
Привет кто-нибудь может посоветовать boilerplate для создания библиотеки компонентов UI чтоб сторибуки были и тд
пожалуй лучшее что нашел. тут позаботились о code-spliting в CJS и все остальное есть
https://blog.harveydelaney.com/creating-your-own-react-component-library/
источник

ЕВ

Егор Водопьянов... in React — русскоговорящее сообщество
Andrey Anelkin
Господа, как лучше по перформансу: использовать несколько useSelector или обьединить в один?
const selectSections = state => state.sections;
const selectActiveSection = createSelector(selectSections, sections => sections.activeSection);
const selectPolygonWithId = createSelector(selectSections, (_, id) => id, (sections, id) => sections.byId[id]);
const SIMSvgPolygon = (props) => {
 const section = useSelector(state => selectPolygonWithId(state, props.id));
 const activeSection = useSelector(selectActiveSection);
тут вообще без разницы, селекторы простые и ты просто свойство объекта запрашиваешь. С тем же успехом можно спросить что быстрее
const a = foo.a
const b = foo.b


или
const c = foo


На перформанс в приложении в 99% случаев будут влиять другие вещи. Например неправильное кэширование в селекторе
источник

AA

Andrey Anelkin in React — русскоговорящее сообщество
спасибо
источник

ЕВ

Егор Водопьянов... in React — русскоговорящее сообщество
Andrey Anelkin
спасибо
обрати внимание если какой-то селектор используешь ТОЛЬКО для того чтобы вычислить другой селектор, то ты вызываешь лишьний ререндер. тогда их конечно лучше объеденить
источник

MD

Michael Daineka in React — русскоговорящее сообщество
Ребята
Как с помощью get запроса получить аватарку user'a в Wordpress?
Дается объект, но в котором нету аватарки, только есть какой-то gravatar с дефолтным лого их
источник

KW

Kyril Wadzinski in React — русскоговорящее сообщество
Подскажите, пожалуйста, возможно ли с помощью styled-components назначить стиль bootstrap компоненту
источник

SL

Sergey Lukashev in React — русскоговорящее сообщество
Michael Daineka
Ребята
Как с помощью get запроса получить аватарку user'a в Wordpress?
Дается объект, но в котором нету аватарки, только есть какой-то gravatar с дефолтным лого их
Сорри, но кажется, что это не про реакт
источник

AA

Andrey Anelkin in React — русскоговорящее сообщество
Егор Водопьянов
обрати внимание если какой-то селектор используешь ТОЛЬКО для того чтобы вычислить другой селектор, то ты вызываешь лишьний ререндер. тогда их конечно лучше объеденить
в моем случае это не совсем так, ибо мои селекторы кэшируются с помощью reselect, сейчас пытаюсь понять как реализовать примерно такой селектор( проблема в параметрах)
const selectIsClickDisabled = createSelector(selectMap, map => map.isClickDisabled);
const selectActiveSection = createSelector(selectSections, sections => sections.activeSection);
const selectPolygonWithId = createSelector(selectSections, (_, id) => id, (sections, id) => sections.byId[id]);
const selectIsActiveSection = createSelector([selectActiveSection, selectPolygonWithId, (_, isStatic) => isStatic], (activeSection, polygon, isStatic) => config.system.showAllSeats || !isStatic && polygon.id === activeSection);
источник

GO

Green Orange in React — русскоговорящее сообщество
Kyril Wadzinski
Подскажите, пожалуйста, возможно ли с помощью styled-components назначить стиль bootstrap компоненту
источник

ЕВ

Егор Водопьянов... in React — русскоговорящее сообщество
Andrey Anelkin
в моем случае это не совсем так, ибо мои селекторы кэшируются с помощью reselect, сейчас пытаюсь понять как реализовать примерно такой селектор( проблема в параметрах)
const selectIsClickDisabled = createSelector(selectMap, map => map.isClickDisabled);
const selectActiveSection = createSelector(selectSections, sections => sections.activeSection);
const selectPolygonWithId = createSelector(selectSections, (_, id) => id, (sections, id) => sections.byId[id]);
const selectIsActiveSection = createSelector([selectActiveSection, selectPolygonWithId, (_, isStatic) => isStatic], (activeSection, polygon, isStatic) => config.system.showAllSeats || !isStatic && polygon.id === activeSection);
ну тут все нормально. вот если бы у тебя selectIsActiveSection внутри какие-то вычисления имел то нужно было бы принять во внимание что он пересчитывается при каждом изменении id и прикрутить re-reselect
источник

AA

Andrey Anelkin in React — русскоговорящее сообщество
Егор Водопьянов
ну тут все нормально. вот если бы у тебя selectIsActiveSection внутри какие-то вычисления имел то нужно было бы принять во внимание что он пересчитывается при каждом изменении id и прикрутить re-reselect
все верно, он и должен будет пересчитывать на каждое изменение id, так как id- это полигон, а их много 🙂
источник

ЕВ

Егор Водопьянов... in React — русскоговорящее сообщество
Andrey Anelkin
все верно, он и должен будет пересчитывать на каждое изменение id, так как id- это полигон, а их много 🙂
я имел ввиду что он не будет кэшироваться. условно при запросе с id=1 он посчитает, потом с id=2 а когда захочешь опять id=1 он пересчитается
источник

AA

Andrey Anelkin in React — русскоговорящее сообщество
Егор Водопьянов
я имел ввиду что он не будет кэшироваться. условно при запросе с id=1 он посчитает, потом с id=2 а когда захочешь опять id=1 он пересчитается
а у меня они будут меняться только при изменении activeSection, поэтому, по идеи, ничего страшного не должно произойти
источник

A

Azim in React — русскоговорящее сообщество
привет всем

если я буду передавать коллбэк функции в пропс не по ссылкам а напрямую определять их в jsx как анонимные - это сильно ухидшит ре-рендеринг ?

просто функции короткие, а так же их много, и их название по длине примерно такое же так как само определение функции
источник

AA

Andrey Anelkin in React — русскоговорящее сообщество
но я себе пометил re-reselect, благодарю
источник

ЕВ

Егор Водопьянов... in React — русскоговорящее сообщество
Azim
привет всем

если я буду передавать коллбэк функции в пропс не по ссылкам а напрямую определять их в jsx как анонимные - это сильно ухидшит ре-рендеринг ?

просто функции короткие, а так же их много, и их название по длине примерно такое же так как само определение функции
зависит от того на сколько сложный ре-рендер
источник

AA

Andrey Anelkin in React — русскоговорящее сообщество
Azim
привет всем

если я буду передавать коллбэк функции в пропс не по ссылкам а напрямую определять их в jsx как анонимные - это сильно ухидшит ре-рендеринг ?

просто функции короткие, а так же их много, и их название по длине примерно такое же так как само определение функции
при каждом рендере будет создавать новая копия функции- следовательно у тебя будет ухудшаться перформанс + каждый раз будет ререндер, так как реакту надо будет сделать новую функцию
источник

ЕВ

Егор Водопьянов... in React — русскоговорящее сообщество
Егор Водопьянов
зависит от того на сколько сложный ре-рендер
если это тупо div то все равно
источник

AA

Andrey Anelkin in React — русскоговорящее сообщество
Егор Водопьянов
если это тупо div то все равно
чилды тоже будут ререндерится, так как им новые пропсы будут приходить 🙂
источник