Size: a a a

Reatom — стейт-менеджер

2020 June 04

NS

Nick Shevrov in Reatom — стейт-менеджер
Я пытаюсь понять, нормально ли идеологически диспатчить экшен, который к моему атому отношения не имеет
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
Если я его еще не создал в коде, что будет?
источник

a

artalar in Reatom — стейт-менеджер
Nick Shevrov
Если я его еще не создал в коде, что будет?
ничего
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
Ничего же?
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
Ага, супер
источник

a

artalar in Reatom — стейт-менеджер
Nick Shevrov
Я пытаюсь понять, нормально ли идеологически диспатчить экшен, который к моему атому отношения не имеет
норм
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
Так это прям то, что нужно, и без redux-observable
источник

a

artalar in Reatom — стейт-менеджер
Ну круть)
источник

a

artalar in Reatom — стейт-менеджер
Кого-то это смущает, наоборот, типа не понятно когда атом есть в сторе, а когда нет.
Но, по идее, лайфтайм атомов должен описываться где-то “выше” над асинхронными операциями и управляться глобальным контроллером (обычно это роутер). Тогда все последовательно, понятно и гибко.

Идеализированный пример: https://gist.github.com/artalar/55633a46b8a69146a31a053bdc9630eb#file-structure-example-js-L8
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
artalar
Кого-то это смущает, наоборот, типа не понятно когда атом есть в сторе, а когда нет.
Но, по идее, лайфтайм атомов должен описываться где-то “выше” над асинхронными операциями и управляться глобальным контроллером (обычно это роутер). Тогда все последовательно, понятно и гибко.

Идеализированный пример: https://gist.github.com/artalar/55633a46b8a69146a31a053bdc9630eb#file-structure-example-js-L8
Да, но тут фиг знает, как притащить проверку на уровне типов
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
Нужен какой-то глобальный registry
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
Но библиотеке он не нужен
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
Я сейчас примерно так и делаю, рядом с роутером инициализирую все атомы, которые мне нужны на странице
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
А можешь про deps у useAtom еще подсказать? Там тип any[]
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
У меня атом — это объект:
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
key1: str;
key2: str;


Я заселектил только key1
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
Как в депсы указать, что нужно зависеть только от одного ключа?
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
Я к тому, что у меня внешних зависимостей нет
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
Только то, что уже в атоме
источник

NS

Nick Shevrov in Reatom — стейт-менеджер
А реакции можно к экшену докидывать как-то? Хочу атомы и экшены с логикой запросов оставить чистыми, а для конкретной страницы подцепить логику, что после success экшена для заданной сущности нужно сделать редирект
источник