const initialState = { loading: false, error: null, uploads: {}, lastUpload: null, }; export default function file(state = initialState, action) { let { type, data, params } = action; switch (type) { case "file/upload": return { ...state, loading: false, error: null, uploads: { ...state.uploads, [params?.target || "last"]: data.id }, lastUpload: data.id, }; case "loading": return { ...state, loading: true }; case "error": return { ...state, loading: false, error: data.message }; default: return state; } }