Size: a a a

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

2021 July 12

DO

Dmitry Olyenyov in Redux — русскоговорящее сообщество
там была другая проблема
function MyComponent() {
 const someVars = useSelector(selectSomeVars);

 const handleXX = () => {
   doSomAsync().then(() => {
     dispatch(someAction(someVars));
   });
 };
}
источник

DO

Dmitry Olyenyov in Redux — русскоговорящее сообщество
doSomAsync унутре делала dispatch(updateSomeVars())
источник
2021 July 13

А

Александр in Redux — русскоговорящее сообщество
Проблема в том, что для тех же самых данных приходится делать дополнительный стейт ради ssr, т.к. стейт, который создается через редьюсер апишки имеет ещё кучу подкопотной требухи и просто так туда preloadedState не засунешь.
источник

А

Александр in Redux — русскоговорящее сообщество
Ну и в любом случае у них там ещё с useQuery проблемы, из-за которых в консоли постоянно лезет варнинг о useLayoutEffect, да и сами разрабы говорили, что опыта у них в ssr нет, так что было ошибкой пытаться юзать этот кусок тулкита в таком кейсе - однозначно.
источник

DO

Dmitry Olyenyov in Redux — русскоговорящее сообщество
Я пока ещё не пробовал rtk query, пока только react-query
источник
2021 July 15

В

Влад in Redux — русскоговорящее сообщество
коллеги, подскажите плиз. Если несколько dispatch(tmp1),dispatch(tmp2) идут подряд в функции. Значит после каждого изменения state изза этих экшенов будет перерендеринг компонента. А нужно ли делать чтобы перерендеринг был лишь после dispatch(tmp2) экшена?
источник

a

artalar in Redux — русскоговорящее сообщество
import { unstable_batchUpdate } from 'react-dom'
источник

a

artalar in Redux — русскоговорящее сообщество
Или обновитесь на новый реакт
источник

В

Влад in Redux — русскоговорящее сообщество
то есть в принципе правильно мыслю, что нужно избавлятся от лишних перерендерингов. Спасибо!
источник

А

Александр in Redux — русскоговорящее сообщество
Это ты сейчас про то, что они научились батчить setState, которые в промисах и таймаутах делаются?
источник

a

artalar in Redux — русскоговорящее сообщество
"научились" не совсем то слово) но да
источник

a

artalar in Redux — русскоговорящее сообщество
В преакте это поведение по умолчанию, в свелт тоже
источник

a

artalar in Redux — русскоговорящее сообщество
Уже не знаю сколько лет, мб с самого начала
источник

В

Влад in Redux — русскоговорящее сообщество
коллеги, а если у меня несколько useSelector() и если те переменные на которые они подписаны обе изменились. По дефолту будет 2 перерендеринга, а можно ли как-то сделать, чтобы был лишь 1(елси обе изменились) но и также 1 если изменилась одна из них
источник

a

artalar in Redux — русскоговорящее сообщество
Всегда будет 1
источник

a

artalar in Redux — русскоговорящее сообщество
Если оба изменения от одного диспатча
источник

А

Александр in Redux — русскоговорящее сообщество
Понял, спасибо за пояснение, не знал, что проблема с диспатчами тоже с батчингом связана
источник

В

Влад in Redux — русскоговорящее сообщество
у меня есть useSelector() -ы которые подписаны на переменные из разных state ов. В таком случае получается всегда будет 2 обнолвения?
источник

a

artalar in Redux — русскоговорящее сообщество
Ну все что из евентколбека диспатчится \ сетстейтится будет автоматом батчится. А вот какой-то резолв промиса (и неск диспатчей в нем) уже нет
источник

В

Влад in Redux — русскоговорящее сообщество
а если я  запихаю в 1 useSelector отслеживаение 2 переменных и потом через spread просто буду выцеплять нужный. Правильный ли подход?
источник