Size: a a a

JavaScript Developers

2019 October 31

NM

Nursultan Moldobaev in JavaScript Developers
Vladimir Zhid
Ну нее... это реально редкий кейс, вообще сложно представить, что это за проект в котором подразумевается, что пользователь будет заходить под разными акками из одного браузера/системного пользователя.
Есть же сайты которые настройки сайта на фронте хранят
источник

VZ

Vladimir Zhid in JavaScript Developers
Nursultan Moldobaev
Есть же сайты которые настройки сайта на фронте хранят
Да это-то ясно..
источник

VZ

Vladimir Zhid in JavaScript Developers
Адылбек Джороев
Обычно в орг структурах за одним компом в разные смены разные люди сидят
Ааа.. ну только если так... хотя почему пользователь один...
источник

NM

Nursultan Moldobaev in JavaScript Developers
Адылбек Джороев
Обычно в орг структурах за одним компом в разные смены разные люди сидят
Учителя например)
источник

АД

Адылбек Джороев in JavaScript Developers
Vladimir Zhid
Ааа.. ну только если так... хотя почему пользователь один...
Стоп… Действительно хД
источник

VZ

Vladimir Zhid in JavaScript Developers
Я могу представить такое.. ну комп.. с пользователем "Учитель" и все им пользуются, но учитывать такой кейс как-то необычно)
источник

DM

Daniel Manasov in JavaScript Developers
Nursultan Moldobaev
Это долго, я думал можно через persist по волшебному одну строчку поменял)
5-10 строк
источник

АД

Адылбек Джороев in JavaScript Developers
Nursultan Moldobaev
Это долго, я думал можно через persist по волшебному одну строчку поменял)
const addUserConfigs = ({ id, ...rest }) => ({
 type: "ADD_USER_CONFIGS",
 userId: id,
 userConfigs: rest
});

const getUserConfigs = userId => ({
 type: "GET_USER_CONFIGS",
 userId
});

function usersConfigs(state = {}, action) {
 switch (action.type) {
   case "GET_USER_CONFIGS":
     return state[action.userId];
   case "ADD_USER_CONFIGS":
     return { ...state, [action.userId]: action.userConfigs };
   default:
     return state;
 }
}
источник

NM

Nursultan Moldobaev in JavaScript Developers
Блин точно на счет этого не подумал что можно сам редусир по id сохранять
источник

NM

Nursultan Moldobaev in JavaScript Developers
Чооон рахмат
источник

АД

Адылбек Джороев in JavaScript Developers
так говорю же хэш дата, то есть объект
источник

NM

Nursultan Moldobaev in JavaScript Developers
Я весь стор хотел по id сохранять, в persit есть прификсы и кей в конфигурации, но он при инцилизации задается, вот думал как то можно динамически его поменять из коробки.
источник

АД

Адылбек Джороев in JavaScript Developers
по-моему, в качестве ключа там передается название редюсера, если не ошибаюсь
источник

АД

Адылбек Джороев in JavaScript Developers
и можно указывать какие именно редюсеры надо сохранять
источник

NM

Nursultan Moldobaev in JavaScript Developers
{
 key: string, // the key for the persist
 keyPrefix?: string, // will be prefixed to the storage key
}
источник

NM

Nursultan Moldobaev in JavaScript Developers
Адылбек Джороев
const addUserConfigs = ({ id, ...rest }) => ({
 type: "ADD_USER_CONFIGS",
 userId: id,
 userConfigs: rest
});

const getUserConfigs = userId => ({
 type: "GET_USER_CONFIGS",
 userId
});

function usersConfigs(state = {}, action) {
 switch (action.type) {
   case "GET_USER_CONFIGS":
     return state[action.userId];
   case "ADD_USER_CONFIGS":
     return { ...state, [action.userId]: action.userConfigs };
   default:
     return state;
 }
}
Так решу проблему спасибо
источник

АД

Адылбек Джороев in JavaScript Developers
ты же все через combineReducers держишь?
источник

α

αμαν in JavaScript Developers
Nursultan Moldobaev
Ладно буду копать, думал может кто то уже такое делал
каковы, по-вашему, шансы того, что кто-то делал такую же задачу, да еще и юзал redux-persist, да еще и то, что там есть магическая настройка для этой фичи? :)
источник

α

αμαν in JavaScript Developers
был опыт с коллаборацией юзеров в реалтайме, был только ридакс и саги (там channel'ы), мы хранили стейты всех подключенных юзеров у каждого юзера (в каждой вкладке), для записи конфигов писали в localStorage одной функцией
источник

NM

Nursultan Moldobaev in JavaScript Developers
αμαν
каковы, по-вашему, шансы того, что кто-то делал такую же задачу, да еще и юзал redux-persist, да еще и то, что там есть магическая настройка для этой фичи? :)
А вдруг, другое решение дали
источник