如果界面如下:
export interface Dispatch<S> {
<A extends Action>(action: A): A;
}
...而S
明明没有被用到,那为什么会有呢?
我注意到 S
在其他地方用于“存储”相关的东西,但如果它没有用在这个界面中,我认为它不应该在那里。
最佳答案
你是对的,它本身似乎没有多大意义。
我猜他们这样做是为了确保在 middleware 中返回类似的调度函数.
对于像 redux-thunk 这样的中间件,new dispatch function确实使用 <S>
参数,虽然我不确定在这种情况下默认值是否重要。
关于javascript - 为什么 Redux.js "Dispatch"TypeScript 接口(interface)有模板参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42381712/