У меня есть компания-редуктор, которую я хотел бы содержать в массиве компаний.Поскольку каждый объект достаточно велик, когда пользователь переходит на /company/name
, я хочу только извлечь этот один объект из моего API и добавить его в этот массив, поэтому, если пользователь заходит на одну и ту же страницу компании несколько раз, мне не придется снова вызыватьapi.
Мой редуктор:
const initialState = {
companies: []
};
export default (state = initialState, action) => {
switch (action.type) {
case GET_COMPANIES:
return {
...state
};
case GET_COMPANY:
return {
...state,
companies: [action.payload, ...state.companies]
};
default:
return state;
}
};
Можно ли мне обновить состояние в редукторе и просто вернуть 1 компанию?Как показано выше, это вернет все компании в этом состоянии, хотя логически это не имеет смысла с 'GET_COMPANY'
Мое действие:
export const getCompany = name => dispatch => {
axios.get("/companies/" + name).then(res =>
dispatch({
type: GET_COMPANY,
payload: res.data
})
);
};