import { createSlice, nanoid } from "@reduxjs/toolkit"; import { sub } from "date-fns"; const initialState = [ { id: "1", title: "Learning Redux Toolkit", content: "I've heard good things.", date: sub(new Date(), { minutes: 10 }).toISOString(), }, { id: "2", title: "Slice...", content: "The more I say slice, the more I want pizza.", date: sub(new Date(), { minutes: 5 }).toISOString(), }, ]; const postsSlice = createSlice({ name: "posts", initialState, reducers: { postAdded: { reducer: (state, action) => { state.push(action.payload); }, prepare(title, content, userId) { // adding new post also need userid (author) return { payload: { id: nanoid(), title, content, userId, date: new Date().toISOString(), }, }; }, }, }, }); export const selectAllPosts = (state) => state.posts; export const { postAdded } = postsSlice.actions; export default postsSlice.reducer;