Action
import { CALL_API } from 'redux-api-middleware';
export const MOVIES_GET_SUCCESS = 'MOVIES_GET_SUCCESS';
export const getMovies = () => {
return {
[CALL_API]: {
endpoint: 'http://localhost:3005/api/movies',
method: 'GET',
headers: {
'Content-Type': 'application/json'
},
types: [type: 'REQUEST', MOVIES_GET_SUCCESS, 'FAILURE']
}
};
};
Мой Middleware
export default store => next => action => {
if (typeof action !== 'function' && action.type.search(/REQUEST/) !== -1) {
if (Object.keys(action).indexOf('headers') !== -1) {
// здесь Action который я написал выше
// console.log(action) -> Object {type: "REQUEST", payload: undefined, meta: undefined}
}
console.log(action);
}
next(action);
};
До этого я везде где диспатчил экшин передавал параметром token { authorization: token }, и на сервере уже обрабатывал запрос, но это плохой солюшин, думаю через мидлвар все бы было намного удобней, внем всем екшинам с type:'REQUEST' добавить { authorization: 'token' } где token стянутый через Store, как можно это сделать?