Добавление Assyn c избыточность функциональности в мой код. Возникла проблема с получением моей базы данных. json на входе. Получение Невозможно прочитать свойство 'имя' из неопределенного.
contactOperations. js
import phoneActions from "./phoneActions";
import axios from "axios";
const addContact = (name, number) => (dispatch) => {
dispatch(phoneActions.addContactRequest());
axios
.post("http://localhost:2000/contacts", { name, number })
.then((response) => dispatch(phoneActions.addContactSuccess(response.data)))
.catch((error) => dispatch(phoneActions.addContactError(error)));
};
export default { addContact };
phoneActions. js
import { createAction } from "@reduxjs/toolkit";
const addContactRequest = createAction("contacts/request");
const addContactSuccess = createAction("contacts/success");
const addContactError = createAction("contacts/error");
const removePhone = createAction("contact/remove");
const filterPhone = createAction("contact/filter");
export default {
addContactRequest,
addContactSuccess,
addContactError,
addPhone,
removePhone,
filterPhone,
};
phoneReducer. js
import { createReducer } from "@reduxjs/toolkit";
import phoneActions from "./phoneActions";
const onAddContact = (state, action) => {
const contactCheck = state.some(
contact => contact.name === action.payload.name
);
if (contactCheck) {
alert("exisits");
} else {
return [...state, action.payload]
}
};
const onRemoveContact = (state, action) =>
state.filter(contacts => contacts.id !== action.payload);
const contacts = createReducer([], {
[phoneActions.addContactSuccess]: onAddContact,
[phoneActions.removePhone]: onRemoveContact
});
const filter = createReducer("", {
[phoneActions.filterPhone]: (state, action) => action.payload
});
export default { contacts, filter };
При утешительном действии отображается неопределенное: