Redux asyn c проблема - не удается прочитать свойство 'имя' из неопределенного - PullRequest
0 голосов
/ 07 апреля 2020

Добавление 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 };

При утешительном действии отображается неопределенное:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...