未发送Redux操作。TypeError:传播不可编辑实例的尝试无效
在我的应用程序中,我想向“event”对象中的数组添加一个“ticket”。在操作中,我将新的票证发布到数据库,然后将操作发送到reducer。通过使用Redux记录器,我能够检索错误: “createTicket”的操作如下:未发送Redux操作。TypeError:传播不可编辑实例的尝试无效,redux,react-redux,redux-thunk,Redux,React Redux,Redux Thunk,在我的应用程序中,我想向“event”对象中的数组添加一个“ticket”。在操作中,我将新的票证发布到数据库,然后将操作发送到reducer。通过使用Redux记录器,我能够检索错误: “createTicket”的操作如下: //操作/tickets.js export const TICKET_CREATE_SUCCESS='TICKET_CREATE_SUCCESS'; const ticketCreateSuccess=票证=>({ 类型:票证\u创建\u成功, 票 }); exp
//操作/tickets.js
export const TICKET_CREATE_SUCCESS='TICKET_CREATE_SUCCESS';
const ticketCreateSuccess=票证=>({
类型:票证\u创建\u成功,
票
});
export const createTicket=(eventId,data)=>(dispatch,getState)=>{
const jwt=getState().currentUser.token;
const id=getState().currentUser.userId;
const email=getState().currentUser.email;
const name=getState().currentUser.name;
要求
.post(`${baseUrl}/events/${eventId}/tickets`)
.set('Authorization','Bearer${jwt}`)
.发送(数据)
。然后(响应=>{
调度(ticketCreateSuccess({…response.body,用户:{id,email,name}}));
})
.catch(错误=>error);
};代码>当值为null
时,您是否正在尝试扩展减速器状态:
export default (state = null, action = {}) => {
您的默认状态可能应该是对象,例如:
const InitialState = {
tickets: []
};
export default (state = InitialState, action) => {
// Some code
case TICKET_CREATE_SUCCESS:
return {
...state,
tickets: [
...state.tickets,
action.tickets
]
}
}
是否可能是您试图在其值为null
时扩展减速器状态:
export default (state = null, action = {}) => {
您的默认状态可能应该是对象,例如:
const InitialState = {
tickets: []
};
export default (state = InitialState, action) => {
// Some code
case TICKET_CREATE_SUCCESS:
return {
...state,
tickets: [
...state.tickets,
action.tickets
]
}
}
只需添加此…状态| |[]
你可以走了。
问题是…state的值等于空数组的null,当您尝试在null上迭代时,它会创建一个错误。
所以使用and“OR”操作符,它会很好地工作。只需添加这个……状态| |[]
你可以走了。
问题是…state的值等于空数组的null,当您尝试在null上迭代时,它会创建一个错误。
所以使用and“OR”操作符,它会工作得很好。这一行调度的响应.body的格式是什么(ticketCreateSuccess({…response.body,user:{id,email,name})
?这一行调度(ticketCreateSuccess({…response.body,user:{id,email,name})上的response.body
的格式是什么代码>?