Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Redux: Redux Toolkit, createListenerMiddleware, middleware, side effects, listener

Что такое createListenerMiddleware в Redux Toolkit и как его можно использовать?

Вопрос проверяет понимание createListenerMiddleware из Redux Toolkit, который позволяет реагировать на действия Redux без создания сайд-эффектов в редьюсерах.

Короткий ответ

createListenerMiddleware — это встроенный middleware в Redux Toolkit, который позволяет запускать побочные эффекты в ответ на действия Redux. Он слушает определенные экшены и выполняет колбэки, что удобно для логирования, навигации или вызовов API. В отличие от createAsyncThunk, он не создает новые экшены, а просто реагирует на существующие.

Длинный ответ

Что такое createListenerMiddleware?

createListenerMiddleware — это middleware из Redux Toolkit, который позволяет выполнять произвольный код (побочные эффекты) в ответ на диспатч определенных экшенов. Он похож на саги или эпики, но проще и легче в использовании, так как не требует дополнительных библиотек.

Как это работает?

Middleware перехватывает каждый диспатч и проверяет, соответствует ли он заданным условиям (например, типу экшена). Если условие выполняется, запускается колбэк, который может выполнять асинхронные операции, диспатчить другие экшены или взаимодействовать с состоянием.

Пример использования

import { createListenerMiddleware, isAnyOf } from '@reduxjs/toolkit';
import { addTodo, removeTodo } from './todosSlice';

const listenerMiddleware = createListenerMiddleware();

listenerMiddleware.startListening({
  matcher: isAnyOf(addTodo, removeTodo),
  effect: async (action, listenerApi) => {
    console.log('Todo изменен:', action);
    // Можно диспатчить другие экшены
    listenerApi.dispatch({ type: 'log/action', payload: action.type });
  },
});

export default listenerMiddleware;

Где применяется?

  • Логирование действий пользователя
  • Навигация после успешного действия (например, редирект после логина)
  • Синхронизация с localStorage или IndexedDB
  • Вызов API без создания thunk

Вывод

createListenerMiddleware — это удобный инструмент для обработки побочных эффектов в Redux, когда не требуется полная мощь саг или thunk. Он особенно полезен для простых сценариев, где нужно реагировать на действия без изменения логики редьюсеров.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    3

  • Сложность:

    5

Навыки

  • Redux

    Redux

  • React

    React

Ключевые слова

#Redux Toolkit

#createListenerMiddleware

#middleware

#side effects

#listener

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию