После выполнения действия: необработанное отклонение (ошибка): у действий может не быть неопределенного свойства "тип". Вы ошиблись константой? - PullRequest
1 голос
/ 19 февраля 2020

Необработанный отказ (ошибка). Действия могут не иметь неопределенного свойства "type". Вы неправильно написали константу?

пытаясь создать действие в редуксе, чтобы УДАЛИТЬ мой предмет. Я понимаю, что действия должны иметь определенный тип, поэтому не уверен, почему я получаю эту ошибку

Пробовал искать похожие посты, но ни один из них не дает ответ, который мне нужен:

. / Types

export const DELETE_TASK = 'DELETE_TASK';

. / Действия

import {DELETE_TASK} from './types'

export const deleteTask = id => dispatch => { axios .delete(`/api/tasks/${id}`) .then(res => dispatch({ type: DELETE_TASK, payload: id }) ) .catch(err => dispatch({ type: console.log(err) })) }

. / Редукторы

case DELETE_TASK: return { ...state, tasks: state.dates.filter(task => task.id !== action.payload) };

. / Component

onDeleteTask = id => { this.props.deleteTask(id) }

<button onClick={this.onDeleteTask.bind(this, e.id)}>delete task</button>

Я должен упомянуть после ошибки при обновлении sh элемент страницы был удален! Действие работает, но я не понимаю, почему эта ошибка возникает до этого

1 Ответ

0 голосов
/ 20 февраля 2020

В этой части кода есть ошибка

.catch(err => 
  dispatch({
    type: console.log(err)
  }))

console.log() всегда возвращает undefined. Итак, вы отправляете действие {type: undefined}. Может быть, вам нужно что-то вроде этого

.catch(err => {
  console.log(err)
  dispatch({
    type: ERROR
  })
})

, учитывая, что вы определили ERROR константу.

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