У меня возникли проблемы, когда я создавал простое приложение для погоды, использующее реагирование и избыточность.
У меня есть два редуктора.Один предназначен для добавления данных в массив, а другой - для удаления данных из массива с использованием метода find.
вот код:
// actions
// fetching weather api
export const fetchWeather = term => {
return async dispatch => {
const res = await api.get(
`/data/2.5/weather?q=${term}&APPID=132123123132`
);
dispatch({ type: "FETCH_WEATHER", payload: res.data });
};
};
// delete a list that matches the selected id
export const listDelete = id => {
return {
type: "LIST_DELETE",
paylod: id
};
};
// reducers
// reducer that put a new data into an array
const reducerIndex = (state = [], action) => {
switch (action.type) {
case "FETCH_WEATHER":
return [...state, action.payload];
default:
return state;
}
};
// reducer that deleting the data that id selected
const reducerIndexDel = (state = [], action) => {
switch (action.type) {
case "LIST_DELETE":
return state.find(city => city.id !== action.payload);
default:
return state;
}
};
export default combineReducers({
reducerIndex,
reducerIndexDel
});
, как вы, возможно, знаете, браузер выдает мне сообщение об ошибке: «При заданном действии« LIST_DELETE »редуктор« reducerIndexDel »возвратил неопределенное значение.»
Я могу получить данные, которые хочу получить, но как сделать, чтобы reducerIndexDel мог распознавать предыдущее состояние?