Я пытаюсь правильно набрать Redux с помощью flow-typed.
Я использую импорт Store
из redux
, чтобы напечатать мой магазин следующим образом, Flow использует файл 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 }
С этим кодом я получаю следующую ошибку: Cannot use Store [1] without 2-3 type arguments
.
Я тоже пытался определить это так const store: Store<S, A>
, но потом Флоу жалуется, что не находит объявление для S и A, что кажется нормальным.
В файле redux_v4.x.x.js
, используемом flow-typed
, Store определяется следующим образом:
declare export type Store<S, A, D = Dispatch<A>> = {
// rewrite MiddlewareAPI members in order to get nicer error messages (intersections produce long messages)
dispatch: D,
getState(): S,
subscribe(listener: () => void): () => void,
replaceReducer(nextReducer: Reducer<S, A>): void,
};
Я уже видел этот пост, который очень похож на мой, но пока не дал ответа, так что этот пост похож на удар , печатающий примитивное хранилище с использованием flowtype и .
Спасибо за помощь!