Skip to content
Snippets Groups Projects
Commit 7a59e26a authored by MahiFaiyaz's avatar MahiFaiyaz
Browse files

Added post asyncthunk

parent 35c12225
No related branches found
No related tags found
1 merge request!4Subreddit feature
import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";
import axios from "axios";
export const getSubredditData = createAsyncThunk(
"asyncRedux/subredditData",
export const getSubredditCommentData = createAsyncThunk(
"asyncRedux/subredditCommentData",
async () => {
const result = await axios.get("http://127.0.0.1:500/subreddit_comments");
// console.log("this is res");
......@@ -10,30 +10,65 @@ export const getSubredditData = createAsyncThunk(
}
);
export const getSubredditPostData = createAsyncThunk(
"asyncRedux/subredditPostData",
async () => {
const result = await axios.get("http://127.0.0.1:500/subreddit_posts");
// 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,
data: {
CommentData: {
status: "idle",
authError: null,
data: {}
},
PostData: {
status: "idle",
authError: null,
data: {}
}
},
},
reducers: {},
extraReducers(builder) {
builder
.addCase(getSubredditData.pending, (state, action) => {
state.status = "loading";
state.authError = false;
state.data = action.payload;
.addCase(getSubredditCommentData.pending, (state, action) => {
state.data.CommentData.status = "loading";
state.data.CommentData.authError = false;
state.data.CommentData.data = action.payload;
})
.addCase(getSubredditCommentData.fulfilled, (state, action) => {
state.data.CommentData.status = "succeeded";
state.data.CommentData.authError = false;
state.data.CommentData.data = action.payload;
})
.addCase(getSubredditCommentData.rejected, (state, action) => {
state.data.CommentData.status = "failed";
state.data.CommentData.authError = true;
state.data.CommentData.data = null;
})
.addCase(getSubredditPostData.pending, (state, action) => {
state.data.PostData.status = "loading";
state.data.PostData.authError = false;
state.data.PostData.data = action.payload;
})
.addCase(getSubredditData.fulfilled, (state, action) => {
state.status = "succeeded";
state.authError = false;
state.data = action.payload;
.addCase(getSubredditPostData.fulfilled, (state, action) => {
state.data.PostData.status = "succeeded";
state.data.PostData.authError = false;
state.data.PostData.data = action.payload;
})
.addCase(getSubredditData.rejected, (state, action) => {
state.status = "failed";
state.authError = true;
state.data = null;
.addCase(getSubredditPostData.rejected, (state, action) => {
state.data.PostData.status = "failed";
state.data.PostData.authError = true;
state.data.PostData.data = null;
});
},
});
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment