Je commence par tapuscrit et redux et j'ai rencontré l'erreur suivante lors du démarrage de mon application.La propriété 'dispatch' est manquante dans l'erreur de type lors du passage du magasin racine au composant racine
Type '{ store: Store<IRootState>; }' is not assignable to type
'IntrinsicAttributes & Store<IRootState> & { children?: ReactNode; }'.
Type '{ store: Store<IRootState>; }' is not assignable to type 'Store<IRootState>'.
Property 'dispatch' is missing in type '{ store: Store<IRootState>; }'.
Je le composant racine étant rendu suivant:
const Root: React.SFC<Store<IRootState>> = (store) => (
<Provider store={store}>
<Router>
<Route exact={true} path="/" component={App} />
</Router>
</Provider>
);
ReactDOM.render(
<Root store={RootStore}/>,
//......~~~~~~~~~~~~~~~~~
document.getElementById('root') as HTMLElement
);
L'erreur se produit dans la ligne store={RootStore}
. Ici RootStore
est le résultat de l'appel createStore
sur mon réducteur de racine et l'état initial. Type d'état initial est IRootState
qui est assez basique:
export interface IRootState {
navBar: INavBarState;
}
et le magasin racine est exportée comme suit:
const RootStore = createStore(rootReducer, initialState);
export default RootStore;
Si je comprends bien (que je suis sûr que je ne suis pas), l'erreur se produit car le paramètre dispatch
n'est pas présent sur la valeur de retour de createStore
. Mais puisque c'est une fonction de bibliothèque, je suis enclin à croire qu'il me manque quelque chose de plutôt évident ici.
Merci beaucoup, je savais que c'était quelque chose assez basique que je manquais. – Bhargav