Size: a a a

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

2020 July 17

G

GetMad in React — русскоговорящее сообщество
Тут вообще разницы нет
источник

G

GetMad in React — русскоговорящее сообщество
Просто у тебя данные будут разделены
источник

G

GetMad in React — русскоговорящее сообщество
Кэш react query будет хранить данные с сервака
источник

И

Иван in React — русскоговорящее сообщество
GetMad
По поводу второго - у тебя доступ есть и к тому и к тому. В рендере вычисляешь что тебе нужно
А если я не хочу рендерить, а хочу дамп?
источник

G

GetMad in React — русскоговорящее сообщество
Иван
А если я не хочу рендерить, а хочу дамп?
Не совсем тебя понял
источник

И

Иван in React — русскоговорящее сообщество
GetMad
Не совсем тебя понял
Ну не хочу я рендерить, хочу слепок состояния сериализовать и положить куда-то. SSR или краш-репорт, например
источник

G

GetMad in React — русскоговорящее сообщество
Иван
Ну не хочу я рендерить, хочу слепок состояния сериализовать и положить куда-то. SSR или краш-репорт, например
Ну у тебя ж есть доступ к стейту и к кэшу. Делай с ним чо хочешь
источник

G

GetMad in React — русскоговорящее сообщество
Там по сути такой же стор, просто тебе не нужно его менеджить
источник

G

GetMad in React — русскоговорящее сообщество
Вот скину суть статьи

There are various categories of state, but every type of state can fall into one of two buckets:

1. Server Cache - State that's actually stored on the server and we store in the client for quick-access (like user data).

2. UI State - State that's only useful in the UI for controlling the interactive parts of our app (like modal isOpen state).

We make a mistake when we combine the two. Server cache has inherently different problems from UI state and therefore needs to be managed differently. If you embrace the fact that what you have is not actually state at all but is instead a cache of state, then you can start thinking about it correctly and therefore managing it correctly.
источник

И

Иван in React — русскоговорящее сообщество
GetMad
Не совсем тебя понял
Я к тому, что состояние приложения — это композиция состояния ui и состояния «кеша».

Как jsx — композиция поведения и представления. Типа, можно отдельно писать html-шаблон и отдельно js. Как-будто separation of concerns. А можно объединить html и js в jsx. И тогда separation of concerns будет не в синтетическом разделении языков, а в органическом разделении компонентов.

Не в синтетическом разделении «логик», а в органическом разделении фич
источник

G

GetMad in React — русскоговорящее сообщество
Иван
Я к тому, что состояние приложения — это композиция состояния ui и состояния «кеша».

Как jsx — композиция поведения и представления. Типа, можно отдельно писать html-шаблон и отдельно js. Как-будто separation of concerns. А можно объединить html и js в jsx. И тогда separation of concerns будет не в синтетическом разделении языков, а в органическом разделении компонентов.

Не в синтетическом разделении «логик», а в органическом разделении фич
это немного другое. С кэшем ты обращаешься иначе, чем с UI стейтом. Тебе не нужны асинхронные экшоны, оптимистик юай, инвалидация когда тебе нужно например хранить стейт того, открыт ли сайдбар
источник

И

Иван in React — русскоговорящее сообщество
GetMad
Вот скину суть статьи

There are various categories of state, but every type of state can fall into one of two buckets:

1. Server Cache - State that's actually stored on the server and we store in the client for quick-access (like user data).

2. UI State - State that's only useful in the UI for controlling the interactive parts of our app (like modal isOpen state).

We make a mistake when we combine the two. Server cache has inherently different problems from UI state and therefore needs to be managed differently. If you embrace the fact that what you have is not actually state at all but is instead a cache of state, then you can start thinking about it correctly and therefore managing it correctly.
Интересно, в какой bucket попадёт состояние фильтра/сортировки абстрактного списка?
источник

G

GetMad in React — русскоговорящее сообщество
В стейт UI
источник

G

GetMad in React — русскоговорящее сообщество
кэш это как слайс данных с бэка
источник

G

GetMad in React — русскоговорящее сообщество
то есть стейта не конкретно этого инстанста фронтового приложения, а всего приложения вместе с базой данных
источник

G

GetMad in React — русскоговорящее сообщество
и тут разница в том, что модалка у тебя без твоего ведома не закроется, а вот данные с бэка поменяться могут
источник

G

GetMad in React — русскоговорящее сообщество
В случае с UI стейтом ты бог и царь
источник

G

GetMad in React — русскоговорящее сообщество
а кэш требует кучи дополнительных штук
источник

И

Иван in React — русскоговорящее сообщество
GetMad
В стейт UI
А если нужно это состояние синхронизировать со строкой поиска, между вкладками и между сессиями?
источник

G

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