【发布时间】:2020-02-19 01:52:26
【问题描述】:
未处理的拒绝(错误):操作可能没有未定义的“类型”属性。你有没有拼错一个常数?
试图在 redux 中创建一个动作来删除我的项目。我了解操作必须具有已定义的类型,因此不确定为什么会出现此错误
尝试寻找类似的帖子,但没有一个提供我需要的答案:
./类型
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)
}))
}
./reducers
case DELETE_TASK:
return {
...state,
tasks: state.dates.filter(task => task.id !== action.payload)
};
./组件
onDeleteTask = id => {
this.props.deleteTask(id)
}
<button onClick={this.onDeleteTask.bind(this, e.id)}>delete task</button>
我必须在刷新页面项被删除时出错后提及!操作有效,但我不明白为什么在此之前会发生此错误
【问题讨论】:
标签: reactjs redux react-redux