A CRUD blog with a basic auth system made with the MERN stack I would like some feedback on things that maybe could've been written a lot better. I used redux for handling state.

GitHub repo

Demo

This blog project is meant to create, read, update, and delete posts. Those are the major functions. A user also must log in to do this. 

Here are some redux actions. Any possible improvements you can see here?:

postActions.js

import axios from 'axios';

const fetch = require('node-fetch');

export const fetchPosts = () =&gt; function (dispatch) {
  dispatch({ type: 'FETCH_POSTS' });

  return axios.get('/posts')
    .then((response) =&gt; {
      dispatch({ type: 'FETCH_POSTS_FUFILLED', payload: response.data });
    })
    .catch((err) =&gt; {
      dispatch({ type: 'FETCH_POSTS_REJECTED', payload: err });
    });
};

export const deletePosts = (posts, cb) =&gt; function (dispatch) {
  axios.delete('/delete', { data: posts })

    .then((response) =&gt; {
      dispatch({ type: 'DELETE_POSTS_FUFILLED', payload: response.data });
    });
};


export const newPost = (title, body, date) =&gt; function (dispatch) {
  return axios.post('/newpost', {
    title,
    body,
    author: 'testUser',
    date,

  })
    .then((response) =&gt; {
      dispatch({ type: 'NEW_POST', payload: response.data });
      console.log(response);
    });
};

export const findSinglePost = postId =&gt; function (dispatch) {
  dispatch({ type: 'FIND_SINGLE_POST', payload: postId });
};

export const sendEdit = editStatus =&gt; function (dispatch) {
  dispatch({ type: 'CHANGE_EDIT_STATUS', payload: editStatus });
};

export const handleSave = changes =&gt; function (dispatch) {
  axios.put('/edit', { data: changes })

    .then((response) =&gt; {
      dispatch({ type: 'EDITED_POST', payload: response.data });
    });
};

export const load = data =&gt; ({ type: 'LOAD', payload: data });

export const changeRedirect = bool =&gt; function (dispatch) {
  dispatch({ type: 'CHANGE_REDIRECT_STATUS', payload: bool });
};

export const checkBoxChange = postId =&gt; function (dispatch) {
  dispatch({ type: 'CURRENT_POST', payload: postId });
};


Please give me any feedback you can think of. I'm trying to get better at React/Angular.
You can turn the action types to constants.
Have action creators 


https://redux.js.org/recipes/reducing-boilerplate/


In deletePosts you're passing a cb that's never used
For readability I would always wrap args in ( ) in arrow function (params)
A trivial comment/preference... I would make sure I use data in args so I don't have to assign it to prop axios.put('/edit', { data: changes }) I would just doaxios.put('/edit', { data })`