typescript - 具有通用参数类型的接口树
问题描述
我正在为带有泛型类型参数的接口树的一些类型定义而苦苦挣扎。基本上,假设我有以下界面:
interface Foo<S> {
state: S
fn: (state: S) => void
}
interface FooTree {
[key: string]: Foo<any>
}
const tree: FooTree = { bar: { state: { something: 3, fn: (state) => {} } } }
我想要的是根据实际状态对象值键入 fn 方法的 state 参数。这甚至可能吗?目前,我只得到未知/任何
解决方案
这是否符合您的要求:
interface Foo<S> {
state: S
fn: (state: S) => void
}
interface FooTree {
[key: string]: Foo<{ age: number }>
}
const tree: FooTree = { bar: { state: { age: 42 }, fn: (state) => { } } }
推荐阅读
- java - 致命异常:java.lang.IllegalArgumentException:fromIndex(10) > toIndex(0)
- javascript - D3 堆积面积图,x 轴作为月份名称,还带有图例
- node.js - 命令失败:运行 'npm install @tensorflow/tfjs-node-gpu' 时 node-pre-gyp install --fallback-to-build 错误
- javascript - React-Bootstrap 中的两个导航栏行
- algorithm - 算法 - 如何找到最高的人塔的高度
- angular - 如何为Angular中的自定义多选组件添加可选的换行和分页?
- javascript - 如何为Angular中数组中的每个项目使用contenteditable
- react-native - React Native)如何使用 React Native Expo 显示网站?
- php - 单击按钮时如何更改表单元素中的操作属性?
- python - 我在 python 中的猜谜游戏中遇到错误