Задать вопрос
NMTEG
@NMTEG
Почти junior :)

Redux toolkit. Почему не отрабатывает createAsyncThunk?

Функция вообще не отрабатывается, try catch ничего не сообщает. Уже не знаю, что думать. Сам слайс:

import { createSlice, createAsyncThunk } from "@reduxjs/toolkit";
import axios from "axios";

export const fetchNews = createAsyncThunk("blog/fetchNews", async () => {
  try {
    const { data } = await axios.get(
      "https://*тут мой url mocapi*"
    );
    return data;
  } catch (error) {
    console.log("Error");
  }
});

export const blogSlice = createSlice({
  name: "blog",
  initialState: {
    news: [],
    status: null,
    error: null,
  },
  reducers: {
    setItems(state, action) {
      state.news = action.payload;
    },
  },
  extraReducers: {
    [fetchNews.pending]: (state) => {
      state.status = "loading";
      state.status = null;
    },
    [fetchNews.fulfilled]: (state, action) => {
      state.status = "success";
      state.news = action.payload;
    },
    [fetchNews.rejected]: (state, action) => {},
  },
});

export const { setMedia } = blogSlice.actions;

export default blogSlice.reducer;


store выглядит вот так:
import { configureStore } from "@reduxjs/toolkit";
import blog from "./slices/blogSlice";

export const store = configureStore({
  reducer: {
    blog,
  },
});
  • Вопрос задан
  • 608 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@n1ksON
мидл
Не обернули редьюсеры combineReducers
import { configureStore } from "@reduxjs/toolkit";
import blog from "./slices/blogSlice";

const rootReducer = combineReducers({
  blog: blog
})

export const store = configureStore({
  reducer: rootReducer
});
Ответ написан
Ваш ответ на вопрос

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

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