Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t连接Redux商店以响应Typescript应用程序_Javascript_Reactjs_Typescript_Redux - Fatal编程技术网

Javascript Can';t连接Redux商店以响应Typescript应用程序

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

我正在尝试将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组件:

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()
下传递减速机或组合减速机,在您的情况下,您正在传递它,但尚未导入它,这可能是问题所在