Для вызова функции из одного редьюсера в другом в Redux Toolkit можно воспользоваться специальной функцией под названием `extraReducers`. В вашем случае, чтобы вызвать функцию `showChat()` из среза `modalSlice` в функции `fetchData.fulfilled` среза `userSlice`, можно сделать следующее: 1. В срезе `modalSlice` определите экшен, в котором будет вызываться функция `showChat()`. Например: ```javascript import { createSlice } from "@reduxjs/toolkit"; const modalSlice = createSlice({ name: "modal", initialState: initialState, reducers: { showChat: (state) => { // Ваша логика для отображения чата }, }, }); export const { showChat } = modalSlice.actions; export default modalSlice.reducer; ``` 2. В срезе `userSlice` добавьте `extraReducers`, где определите `fulfilled`-кейс для экшена `fetchData`. В этом кейсе вызовите функцию `showChat()` из среза `modalSlice`. Например: ```javascript import { createSlice } from "@reduxjs/toolkit"; import { fetchData } from "./userActions"; import { showChat } from "./modalSlice"; const userSlice = createSlice({ name: "user", initialState: initialState, reducers: {}, extraReducers: (builder) => { builder.addCase(fetchData.fulfilled, (state, action) => { // Ваша логика обработки успешного выполнения fetchData // Вызываем функцию showChat() из modalSlice showChat(); }); }, }); export default userSlice.reducer; ``` Обратите внимание, что для правильной работы этого подхода требуется, чтобы срез `modalSlice` был подключен как обычный редьюсер в вашем хранилище Redux. В противном случае, функция `showChat()` не будет доступна из `userSlice`. Также, в `extraReducers` можно использовать и другие кейсы, такие как `rejected` или `pending` для обработки других состояний выполнения асинхронных запросов.