Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
subredditSlice.js 1.12 KiB
import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";
import axios from "axios";
export const getSubredditData = createAsyncThunk(
  "asyncRedux/subredditData",
  async () => {
    const result = await axios.get("http://127.0.0.1:500/subreddit_comments");
    // console.log("this is res");
    // console.log(result.data.data);
    return result.data.data;
  }
);

const subredditSlice = createSlice({
  name: "subredditSlice",
  initialState: {
    data: {},
    status: "idle",
    authError: null,
  },
  reducers: {},
  extraReducers(builder) {
    builder
      .addCase(getSubredditData.pending, (state, action) => {
        state.status = "loading";
        state.authError = false;
        state.data = action.payload;
      })
      .addCase(getSubredditData.fulfilled, (state, action) => {
        state.status = "succeeded";
        state.authError = false;
        state.data = action.payload;
      })
      .addCase(getSubredditData.rejected, (state, action) => {
        state.status = "failed";
        state.authError = true;
        state.data = null;
      });
  },
});

export default subredditSlice.reducer;