Uncaught (в обещании) Ошибка: запрос не выполнен с кодом состояния 500 - Вложенный нереляционный редуктор - вложенный нереляционный массив в сервисной модели - PullRequest
0 голосов
/ 30 ноября 2019

Я пытаюсь перечислить связанные нереляционные задачи из сервиса, это мой код:

Модель сервиса:

const serviceSchema = new Schema({
  name: String,
  description: String,
  pricePerHour: Number,
  relatedTodos: [{
    name: String,
    description: String,
    isDone: Boolean,
    createdAt: Date,
    updatedAt: Date
  }], 
 createdAt: Date,
 updatedAt: Date
});

Мой редуктор Сервис:

const INITIAL_STATE_SERVICE = {
  listServices: [],
  service: { listTodos:[]},
  loading: false,
  errors: {},
 };

     export default function(state = INITIAL_STATE_SERVICE, action) {
       switch (action.type) {

  case serviceTypes.SEARCHING_TODOS_BY_SERVICE:
           return{
        ...state,
        listTodos: [...state.service.listTodos,action.payload.data]
      } 
          default:
         return state;
   }
 }

Моя служба действий

 export const searchingTodosByService = (id) => async dispatch => {
  const res = await axios.get(`/api/services/bringTodos/${id}`);
  dispatch({type: serviceTypes.SEARCHING_TODOS_BY_SERVICE, payload: res})
   }

Службы листинга:

 bringRegisters() {
     return this.props.listServices.map(service => {
       return (
        <tr key={service._id}>
          <td>
          <Link to={`/services/bringTodos/${service._id}`}>Todos</Link>
         </td>

             </tr>
             );
               });
              }

 render() {
       return (
     <div className='table-responsive'>
      <table className='table table-striped table-sm'>
        <thead>
          <tr> 
           <th>Todos</th>
           </tr>
             </thead>
              <tbody>{             
               this.bringRegisters()           
               }
              </tbody>
                </table>
               </div>
               );
                }
                }

И, наконец, мой класс связанных списков Todos:

 componentDidMount() {
         const { id } = this.props.match.params;
         this.id = id;
           if (id) {
            this.props.searchingTodosByService(id);
            }
      }
           bringRegisters() {
             return this.props.listTodos.map(todo => {
               return (
                 <tr key={todo._id}>
                     <td>{todo.name}</td>
                     <td>{todo.description}</td>
                     <td>{todo.isDone}</td>
                     <td>{todo.createdAt}</td>
                     <td>{todo.updatedAt}</td>
                   </tr>
                  );
               });
           }

  function mapState(state) {
     return {
       listTodos: state.servicesDs.service.listTodos
     };
    }

Ожидаемый результат - компонентотображение связанных задач по идентификатору службы, но реальный вывод - ошибка: запрос не выполнен с кодом состояния 500.

Что не так?

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