javascript - 使用 $ObjMap 的 Redux
问题描述
const ACTION1: "ACTION1" = "ACTION1";
const ACTION2: "ACTION2" = "ACTION2";
const ACTIONS = {
a: () => ({ type: ACTION1, payload: { num: 1 } }),
b: () => ({ type: ACTION2, payload: { str: "A" } })
};
function reducer(action: $Values<$ObjMap<typeof ACTIONS, <R>(() => R) => R>>): string {
switch (action.type) { // any | "ACTION1" | "ACTION2"
case ACTION1:
return "" + action.payload.num; // any | number
case ACTION2:
return "" + action.payload.str; // any | string
default:
;(action.type: empty)
return "";
}
}
这段代码有什么问题?
解决方案
推荐阅读
- javascript - 如何从 JSON 对象中获取 src 属性?
- r - 管道中 R 的条件舍入
- wordpress - WP_Query 按分类(产品类别)和字母顺序排序
- android - Xamarin Android 在没有 Retry OK 的情况下拍摄照片
- python-3.x - 保存包裹在 Keras 中的模型
- javascript - 如何在 axios().then() 中使用 useContext 钩子的调度函数?
- android - 是否可以将 ViewModel 与 Dialog 类一起使用?
- angular - mat-autocomplete 多次调用服务器而不是一次
- sql - SQL 从表中检索过去 6 个月的数据
- android - Xamarin Android 和 AIDL:Java.Lang.IllegalStateException:'Bundle 的幻数错误