Проблема с доступом к установочному штату Redux в обработчиках событийJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с доступом к установочному штату Redux в обработчиках событий

Сообщение Anonymous »

У меня есть сервер SignalR (WebSocket) для игры и клиент React/Redux, который подключается к нему. У меня есть компонент, задача которой состоит в том, чтобы прослушать сообщения SignalR для их обработки, что обычно предполагает обновление чего -либо в состоянии Redux. Одно из моих сообщений, однако, называется «BattleVents», и это сообщение на самом деле представляет собой несколько событий, упакованных в одно сообщение. Когда я получаю это, я просто прохожу каждое событие в сообщении и вызываю его соответствующую функцию обработчика. Это минимальный пример этого компонента: < /p>

Код: Выделить всё

function BattleEventListener({
roomId
}: BattleEventListenerProps) {
const dispatch = useDispatch();
const roomState = useSelector((state: RootState) => state.rooms.byId[roomId]);
const roomRef = useRef(roomState);

useEffect(() => {
if (gameHub.hub === null) return;
console.info("Connecting room to gameHub.");

gameHub.hub.on('BattleEvents', handleBattleEvents);

return () => {
gameHub.hub?.off('BattleEvents', handleBattleEvents);
}
}, [dispatch, gameHub.hub, roomRef.current]);

useEffect(() => {
roomRef.current = roomState;
}, [roomState]);

return null;

async function handleBattleEvents (evtId: string, roomId: string, events: BattleEvent[]) {
console.debug('

Подробнее здесь: [url]https://stackoverflow.com/questions/79694840/problem-with-accessing-stale-redux-state-in-event-handlers[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Источник событий выбирает отношения внешнего ключа в обработчиках команд?
    Anonymous » » в форуме C#
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Как доменировать район по штату в Odoo 17?
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Шаблоны можно использовать только с доступом к полям, доступом к свойствам, ошибкой индекса одномерного массива.
    Anonymous » » в форуме C#
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous
  • Могут ли спинлоки в обработчиках сигналов вызвать тупик?
    Anonymous » » в форуме C++
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Могут ли спинлоки в обработчиках сигналов вызвать тупик?
    Anonymous » » в форуме C++
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»