从状态中删除对象后组件没有重新加载,我正在使用 React-redux



我正在开发一个在线流媒体应用程序,用户可以在其中创建、编辑、删除和托管流。问题是,当我尝试删除流时,它会在数据库中删除它,但我显示流的主要组件不会重新加载,尽管它在用户创建或编辑流时会重新加载自己。

这是我的动作创作者:

export const deleteStream = (id) => async dispatch => {
await streams.delete(`/streams/${id}`);
dispatch({ type:'DELETE_STREAMS', payload: id });
history.push('/');
}

这是减速器:

const streamReducer = (state = {}, action) => {
switch(action.type){
case 'DELETE_STREAM':
return {...state, [action.payload]: undefined};
//I also used lodash to delete it alternatively as- return _.omit(state, action.payload);
default:
return state;
}
}

此外,不要忘记,对象是在我的服务器中进行关键插值的,即,我有一个对象的对象,而不是一个对象数组。

复数问题!CCD_ 1与CCD_。你分派前者,减少后者。

这就是为什么在某个地方定义你的行为总是一个好主意,即使只是export const X = "X"。然后总是引用它们,而不是使用字符串文字。

更新React渲染并不是一个错误,但redux从未更新过。一个很好的调试工具是redux devtoolshttps://github.com/reduxjs/redux-devtools,您可以看到redux的状态和每个调度的操作及其影响。

相关内容

  • 没有找到相关文章

最新更新