Size: a a a

React: русскоязычное сообщество

2020 January 30

TM

Thomas Miracle in React: русскоязычное сообщество
Roman
я бы сделал отдельный сервис который запускался бы в didMount хока над app
Годно
источник
2020 January 31

C

Combot in React: русскоязычное сообщество
Alert! ColdSeattle is a known spammer and is CAS banned. Ban is strongly recommended.
источник

C

Coldseattle in React: русскоязычное сообщество
всем привет
источник

C

Coldseattle in React: русскоязычное сообщество
я учу React, и я хотел бы человека как ментора, чтобы был человек, кому можно обращаться и получить мудрый опыт... если есть такой добрый и у кого найдется немного времени на помощь , то напиши пожалуйста  в лс, я буду искреннее рад , что есть кто-то кто  скажет, сейчас тебе надо это учить,  а вот это не надо пока учить и т.д....
источник
2020 February 01

KS

Konstantin Sedykh in React: русскоязычное сообщество
Aleksandr
Всем привет, Как будет правильно сделать?
Есть у меня графики на странице, логика этих графиков засунута в хуки, графиков много,
Логики тоже достаточно много.
Как лучше сделать, оставить внутри каждого графика логику работы и на один график один компонент или сделать один компонент для графиков, а логику связанную с каждым графиком обрабатывать в родительском?
я в реакт пришёл из геймдева, там привык всё, что сложнее if, реализовать с помощью fsm. для реакта сейчас юзаю https://www.npmjs.com/package/xstate. очень мощная и гибкая приблуда в возможностью визуализации. юзается в реакте через хук useMashine().
источник

KS

Konstantin Sedykh in React: русскоязычное сообщество
Кстати вопрос: в useEffect useState(() => { const initialState = someExpensiveComputation(props); return initialState; });
при монтировании ref на текущий ренедер никак не получить? на каком этапе вообще при useRef заполняется значение ref.current?
ЗЫ. для lazy-load функционального компонента.
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Konstantin Sedykh
Кстати вопрос: в useEffect useState(() => { const initialState = someExpensiveComputation(props); return initialState; });
при монтировании ref на текущий ренедер никак не получить? на каком этапе вообще при useRef заполняется значение ref.current?
ЗЫ. для lazy-load функционального компонента.
Использовать надо тут useLayoutEffect
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Внутри него все рефы уже раскиданы, но браузер синхронно будет ждать его исполнения перед отрисовкой.
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Отсюда вывод —- злоупотреблять не стоит. Если проблема решается без такого, лучше решить без него.
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Можно создать реф для хранения состояния, если что.
const internalStore = React.useRef({}).current;

После этого объект internalStore будет референтно тождественен на каждом ререндере.
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Его изменения не вызывают перерисовки и там можно хранить часть состояния и методы для той части, которая оптимизирована вручную на уровне дома.
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Пример юзкейса такого дизайна: https://github.com/react-spring/react-use-gesture
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Пруф
источник

KS

Konstantin Sedykh in React: русскоязычное сообщество
ага, уже нашёл этот кусок. и как очищать реф при размонтировании тоже Спасибо за разъяснения. useLayoutEffect вообще как то не хочется юзать...
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Если нужно сбросить состояние компонента, самый лучший способ это со стороны родителя навесить ему ключ. При изменении ключа старый инстанс полностью сотрётся.
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Это тоже не очень широко обсуждаемая вещь
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Но задача при изменении типа формы не допустить попадания стейта от поля пароля в простое поле мягко говоря почти всегда решается неправильно
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Если человек не использует библиотеки
источник

KS

Konstantin Sedykh in React: русскоязычное сообщество
The Fallen Phoenix
Если нужно сбросить состояние компонента, самый лучший способ это со стороны родителя навесить ему ключ. При изменении ключа старый инстанс полностью сотрётся.
ммм, uuid в качестве id юзать?
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
И только чудом этого не происходит
источник