我正在尝试使用flow-typed正确键入Redux。
我使用从true
导入的false
像这样键入我的商店,Flow使用了Store
文件redux
并引发了一个错误:
flow-typed
使用此代码,我得到以下错误:redux_v4.x.x.js
。
我也尝试过这样定义/* @flow */
import rootReducer from '@reducers/index'
import type { Store } from 'redux'
import { applyMiddleware, createStore } from 'redux'
import { composeWithDevTools } from 'redux-devtools-extension'
import thunk from 'redux-thunk'
const configureStore = () => {
const store: Store = createStore(
rootReducer,
composeWithDevTools(applyMiddleware(thunk))
)
return store
}
export { configureStore as default }
,但是Flow抱怨说他没有找到S和A的声明,这似乎很正常。
在Cannot use Store [1] without 2-3 type arguments
使用的const store: Store<S, A>
文件中,存储的定义如下:
redux_v4.x.x.js
我已经看过这篇帖子,与我的非常相似,但到目前为止还没有答案,所以这篇帖子就像是一个颠簸的typing redux store using flowtype and flow-typed。
感谢帮助!
答案 0 :(得分:0)
您需要提供S
类型的A
和Store
。例如,
import { createStore } from 'redux';
import type { Store } from 'redux';
type State = Array<number>;
type Action = { type: 'A' };
type MyStore = Store<State, Action>;
const store: MyStore = createStore(...);
// or inline
const store: Store<Array<number>, { type: 'A' }> = createStore(...);
查看test_createStore.js
中提供的示例,或更完整的示例,查看this sandbox。