2017-02-22 24 views
2

Relevant line为什么Redux.js“Dispatch”TypeScript接口有一个模板参数?

如果界面如下:

export interface Dispatch<S> { 
    <A extends Action>(action: A): A; 
} 

...和S显然是不使用,那么它为什么存在?

我注意到S在其他地方用于“商店”相关的事情,但如果它没有在这个界面中使用,我认为它不应该在那里。

+1

您可以看到添加该接口的推拉请求以及此链接的推理:https://github.com/reactjs/redux/pull/1537 – Lucas

回答

1

你说得对,靠它自己看起来没什么意义。

我的猜测是他们已经这样做,以确保像middleware返回类似的调度功能。

对于像redux-thunk这样的中间件,new dispatch function确实使用了<S>参数,但我不确定如果在这种情况下默认的参数不是这样会有什么影响。

相关问题