Size: a a a

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

2021 March 02

a

artalar in Reatom — стейт-менеджер
Maksim Sharov
ладно, с перезапуском вопрос пока снят, не воспроизводится, спишем на мою медленную машину, но я реально как в твоем воркшопе оказался, ты часто говорил о "перезапуске"
Не, что за воркшоп?)
источник

M

Maksim Sharov in Reatom — стейт-менеджер
artalar
Не, что за воркшоп?)
твой)
источник

a

artalar in Reatom — стейт-менеджер
Maksim Sharov
твой)
А можно ссылку? 😃
источник

IR

Ingrid Raines in Reatom — стейт-менеджер
Может речь про яндексовый доклад?
источник

a

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

M

Maksim Sharov in Reatom — стейт-менеджер
artalar
Не, что за воркшоп?)
могу даже линки на секунды видео кинуть, ты такой - "о что-то не заработало, перезапустим приложение"
источник

M

Maksim Sharov in Reatom — стейт-менеджер
источник

a

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

a

artalar in Reatom — стейт-менеджер
Мб на атом, который хендлит экшен, нет подписки?
источник

M

Maksim Sharov in Reatom — стейт-менеджер
artalar
Мб на атом, который хендлит экшен, нет подписки?
уже все "починилось" перезагрузкой приложения, подписка есть, стор обновляется
источник

M

Maksim Sharov in Reatom — стейт-менеджер
ладно, забыли, может дело в криво подключенном редакс дев тул, поэтому вернемся к изначальному вопросу

можно ли расширить пример basic https://reatom.js.org/#/packages/debug?id=redux-devtools по подключению дев-тулов так

import { createStore } from "@reatom/core";
import { connectReduxDevtools } from "@reatom/debug";

import { elementsAtom } from "./element";

const isProduction = process.env.NODE_ENV === "production";

export const store = createStore(elementsAtom);

const unsubscribeDevTools = !isProduction && connectReduxDevtools(store);


и не влезать в реакт-компоненту, как обозначено чуть ниже?
источник

M

Maksim Sharov in Reatom — стейт-менеджер
1. для чего вводит unsubscribeDevTools если мы его никуда не экспортируем? (понимаю, потенциально мы его можем использовать в useEffect), но в этом случае дев-тулы нужно будет затянуть в рантайм
2. будут ли утечки памяти? вот у меня сейчас все работает так
источник

a

artalar in Reatom — стейт-менеджер
Maksim Sharov
ладно, забыли, может дело в криво подключенном редакс дев тул, поэтому вернемся к изначальному вопросу

можно ли расширить пример basic https://reatom.js.org/#/packages/debug?id=redux-devtools по подключению дев-тулов так

import { createStore } from "@reatom/core";
import { connectReduxDevtools } from "@reatom/debug";

import { elementsAtom } from "./element";

const isProduction = process.env.NODE_ENV === "production";

export const store = createStore(elementsAtom);

const unsubscribeDevTools = !isProduction && connectReduxDevtools(store);


и не влезать в реакт-компоненту, как обозначено чуть ниже?
Можно как угодно, главное что бы подключение девтулзов было рядом с созданием стора. Пример с реактом для того что бы хот релоад работал корректно
источник

M

Maksim Sharov in Reatom — стейт-менеджер
artalar
Можно как угодно, главное что бы подключение девтулзов было рядом с созданием стора. Пример с реактом для того что бы хот релоад работал корректно
у тебя дебаг пакет в dependencies?
источник

M

Maksim Sharov in Reatom — стейт-менеджер
есть пример репозитория кроме воркшопа?
источник

a

artalar in Reatom — стейт-менеджер
Его должно оттришейкать
источник

a

artalar in Reatom — стейт-менеджер
Maksim Sharov
ладно, забыли, может дело в криво подключенном редакс дев тул, поэтому вернемся к изначальному вопросу

можно ли расширить пример basic https://reatom.js.org/#/packages/debug?id=redux-devtools по подключению дев-тулов так

import { createStore } from "@reatom/core";
import { connectReduxDevtools } from "@reatom/debug";

import { elementsAtom } from "./element";

const isProduction = process.env.NODE_ENV === "production";

export const store = createStore(elementsAtom);

const unsubscribeDevTools = !isProduction && connectReduxDevtools(store);


и не влезать в реакт-компоненту, как обозначено чуть ниже?
Вообще можно не заморачиваться, там кода меньше килобайта.
источник

a

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

a

artalar in Reatom — стейт-менеджер
Maksim Sharov
есть пример репозитория кроме воркшопа?
источник

M

Maksim Sharov in Reatom — стейт-менеджер
вопроизвел баг с тем, что не отображаются все экшны. это происходит при подключении дев-тула через компонент. код https://gitlab.com/rvct/mendeleev/-/commits/demo-dev-tools-reatom

store https://codesandbox.io/s/zen-cartwright-5k4kv?file=/src/app/store/store.ts начальный состоит из атома

service  https://codesandbox.io/s/zen-cartwright-5k4kv?file=/src/app/store/element/service.ts

поставил специально 3 экшна  - getElementsFetching, логируется только getElementsSuccess, после того как мок-апи отрабатывает (cм скрин)

подключаю дев-тул в компоненте https://codesandbox.io/s/zen-cartwright-5k4kv?file=/src/app/App.tsx

но если я подключение перенесу в store.ts

import { createStore } from "@reatom/core";
import { connectReduxDevtools } from "@reatom/debug";

import { elementsAtom } from "./element";

const isProduction = process.env.NODE_ENV === "production";

export const store = createStore(elementsAtom);

const unsubscribeDevTools = !isProduction && connectReduxDevtools(store);

будет логироваться все
источник