@h1tan

Организация хєндлеров для useContext стейта?

Подскажите, как организовать множество хєндлеров для состояния useState через useContext ?
Есть [canvas, setCanvas] = useState, который подключается в любой компонент через useContext.
Важно то, что для canvas нужно создать множество хэндлеров по типу set, get, update, remove. Все эти хэндлеры должны быть по разным файлам и вызываться где угодно. Также, не менеее важно, что хэндлеры скорей всего могут вызывать друг друга. Что у меня и вызвало замыкание вызовов при создании кастомных хуков. Например: хук setHandlers имеет метод setConfig. Он устанавливает конфиг, например, и затем должен вызвать другой метод с другого хэндлера, например, getHistory. Самое важно, если уж вы поняли, о чем идет речь и как с этим быть. Нужно учесть сущность history, например, canvasHistory. К которому должны иметь доступ любой из хэндлеров. Т.е. метод addObjectToCanvas добавляет обьект и должен вызвать обновление истории канваса. И тут то как раз проблема в получении последнего актуального canvasHistory. Вообщем, делема еще та ) Кто в силах помочь, буду отзывчив любой помощи!
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ответы на вопрос 2
@twolegs
Если так много действий, изменяющих стейт - проще будет использовать стейт менеджер, тот же redux например.
Если redux подключать не хочется, то можно вместо setState использовать useReducer. В этом случае хранить какую-то историю действий и следить за порядком выполнения хэндлеров будет проще.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы