Javascript Can';t连接Redux商店以响应Typescript应用程序
我正在尝试将Redux应用商店连接到我的TypeScript React应用程序,但收到以下错误: 没有与此调用匹配的重载。过载1/2'(道具: Readonly>):Provider'提供了 以下错误。类型“()=>any”缺少以下属性 从类型“存储”:分派、获取状态、订阅、, 替换减速器,[Symbol.observable]过载2/2'(道具: ProviderProps,上下文?:任意):提供程序 下面的错误。 类型“()=>any”不可分配给类型“Store”。ts(2769)index.d.ts(461,5):预期的类型来自 属性“store”,该属性在类型“intrinsitattributes”上声明& IntrinsicClassAttributes>& 只读>&Readonly'index.d.ts(461, 5) :所需类型来自声明的属性“store” 在这里输入“内在属性”& IntrinsicClassAttributes>& 只读>&只读' 这是我的索引.tsx组件:Javascript Can';t连接Redux商店以响应Typescript应用程序,javascript,reactjs,typescript,redux,Javascript,Reactjs,Typescript,Redux,我正在尝试将Redux应用商店连接到我的TypeScript React应用程序,但收到以下错误: 没有与此调用匹配的重载。过载1/2'(道具: Readonly>):Provider'提供了 以下错误。类型“()=>any”缺少以下属性 从类型“存储”:分派、获取状态、订阅、, 替换减速器,[Symbol.observable]过载2/2'(道具: ProviderProps,上下文?:任意):提供程序 下面的错误。 类型“()=>any”不可分配给类型“Store”。ts(2769)inde
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { ConnectedRouter } from 'connected-react-router';
import { Route, Switch } from 'react-router-dom';
import store from './store/index';
import './styles/index.scss';
import LoginPage from './app/routes/LoginPage';
const App = () => (
<Provider store={store}>
<Switch>
<Route path="/" component={LoginPage} />
</Switch>
</Provider>
);
ReactDOM.render(<App />, document.getElementById('root'));
reducer.js:
const countReducer = (state = 0, action) => {
switch (action.type) {
case 'INCREMENT':
return state + 1;
case 'DECREMENT':
return state - 1;
default:
return state;
}
};
我应该在某处指定商店的类型吗 您将
存储作为函数导出,但将其作为变量使用。别忘了调用函数
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { ConnectedRouter } from 'connected-react-router';
import { Route, Switch } from 'react-router-dom';
import store from './store/index'; // store is a function
import './styles/index.scss';
import LoginPage from './app/routes/LoginPage';
const App = () => (
<Provider store={store()}> // <- Call the function here
<Switch>
<Route path="/" component={LoginPage} />
</Switch>
</Provider>
);
ReactDOM.render(<App />, document.getElementById('root'));
从“React”导入React;
从“react dom”导入react dom;
从'react redux'导入{Provider};
从“已连接路由器”导入{ConnectedRouter};
从“react router dom”导入{Route,Switch};
从“./store/index”导入存储;//存储是一种功能
导入“/styles/index.scss”;
从“/app/routes/LoginPage”导入登录页面;
常量应用=()=>(
//您将存储导出为函数,但将其用作变量。别忘了调用函数
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { ConnectedRouter } from 'connected-react-router';
import { Route, Switch } from 'react-router-dom';
import store from './store/index'; // store is a function
import './styles/index.scss';
import LoginPage from './app/routes/LoginPage';
const App = () => (
<Provider store={store()}> // <- Call the function here
<Switch>
<Route path="/" component={LoginPage} />
</Switch>
</Provider>
);
ReactDOM.render(<App />, document.getElementById('root'));
从“React”导入React;
从“react dom”导入react dom;
从'react redux'导入{Provider};
从“已连接路由器”导入{ConnectedRouter};
从“react router dom”导入{Route,Switch};
从“./store/index”导入存储;//存储是一个函数
导入“/styles/index.scss”;
从“/app/routes/LoginPage”导入登录页面;
常量应用=()=>(
//从哪里获得store.js下的countReducer
?必须在createStore()下传递reducer或组合reducer
,在您的情况下,您正在传递它,但尚未导入它,这可能是您在store.js
下获取此countReducer
的问题?您必须在createStore()
下传递减速机或组合减速机,在您的情况下,您正在传递它,但尚未导入它,这可能是问题所在