首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用类型安全操作创建根缩减程序

使用类型安全操作创建根缩减程序
EN

Stack Overflow用户
提问于 2020-04-24 07:57:30
回答 1查看 141关注 0票数 1

我正在使用typesafe-actions,并且想要创建一个根缩减程序,它将允许我处理像LOGGED_OUT这样的全局操作,以便清除状态。就像在answer to this question里一样。

我尝试了一些方法,但我一直失去了typesafe-actions提供的类型安全性,reducer恢复为any类型。

我有一个非常普通的类型安全操作设置。我没有发布我尝试过的隐式类型的排列解决方案,因为我认为它不会增加问题的清晰度。

我能找到的最接近解决方案的是this thread。类型安全操作的维护者自己发布了一个响应,并提到他已经有了解决方案,尽管从那时起没有提供任何链接或参考。

任何帮助都是最好的。

根据记录,我可以让它按照我发布的Stack overflow问题的模式工作,但是类型被破坏了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-27 17:11:48

原来我在9个月前已经在一个单独的项目中解决了这个问题,但是忘记了。

代码语言:javascript
运行
AI代码解释
复制
import { combineReducers } from 'redux';
import auth from '../modules/auth/reducer';
import feed from '../modules/feed/reducer';
import post from '../modules/post/reducer';
import profile from '../modules/profile/reducer';
import { StateType, Reducer, RootAction } from 'typesafe-actions';
import { signOut } from 'modules/auth/actions';

const appReducer = combineReducers({
  auth,
  feed,
  post,
  profile
});

type RootState = StateType<typeof appReducer>;

const clearOnSignOutReducer: Reducer<RootState, RootAction> = (
  state,
  action
) => {
  if (action.type === signOut().type) {
    state = undefined;
  }
  return appReducer(state, action);
};

export default clearOnSignOutReducer;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61403725

复制
相关文章

相似问题

领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档