Javascript React Native routing with redux:错误:预期缩减器是一个函数

Javascript React Native routing with redux:错误:预期缩减器是一个函数,javascript,reactjs,react-native,routing,redux,Javascript,Reactjs,React Native,Routing,Redux,我试图让Redux在React本机应用程序中处理我的路由状态。我用来处理路由的组件是 我收到的错误消息是“预期减速机是一个函数”。我一直有这个问题很长一段时间,无法解决这个问题。我理解越来越多的Redux概念,但现在我必须寻求帮助。通过阅读关于同一问题的stackoverflow帖子,我发现这可能是一些导出/导入问题,但我、我的项目成员或我的高级开发人员都看不到 现在,我有了3个不同类的最低设置,包括我的路由器组件。请记住,为了简单起见,我从主文件App.js创建了商店 容器/App.js im

我试图让Redux在React本机应用程序中处理我的路由状态。我用来处理路由的组件是

我收到的错误消息是“预期减速机是一个函数”。我一直有这个问题很长一段时间,无法解决这个问题。我理解越来越多的Redux概念,但现在我必须寻求帮助。通过阅读关于同一问题的stackoverflow帖子,我发现这可能是一些导出/导入问题,但我、我的项目成员或我的高级开发人员都看不到

现在,我有了3个不同类的最低设置,包括我的路由器组件。请记住,为了简单起见,我从主文件App.js创建了商店

容器/App.js

import React, { Component } from 'react';
import { Provider, connect } from 'react-redux';
import { combineReducers, createStore, applyMiddleware, compose } from 'redux';
import routingReducer, { counter, userReducer } from './../Redux/Reducers';

const RouterWithRedux = connect()(NavigationRouter);

// Combine Reducers
const reducers = combineReducers({
    userReducer,
    routingReducer,
});

// create store...
const middleware = [/* ...your middleware (i.e. thunk) */];
const store = compose(
    applyMiddleware(...middleware))(createStore)(reducers);

export default class App extends Component {
  render () {

    return (
      <Provider store={store}>
        <RouterWithRedux />
      </Provider>
    )
  }
}
导航/myexporteduler.js

import React from 'react'
import { Router, Scene, Actions } from 'react-native-router-flux';
import { connect } from 'react-redux';

import SettingsContainer from './../Containers/SettingsContainer'
import LoginWrapper from './../Containers/LoginWrapper'

const myConnectedRouter = connect()(Router);
// TODO: Define Scene keys as "ENUMS": loginScreen -> TO_LOGIN
const scenes = Actions.create(
    <Scene key="root">
        <Scene initial key='TO_LOGIN' component={ LoginWrapper } title='LaunchScreen' hideNavBar />
        <Scene key='TO_SETTINGS_VIEW' component={ SettingsContainer } title='Monthly View'  />
    </Scene>
);

class MyExportedRouter extends React.Component {
    constructor(props) {
        super(props);'
    };

    render() {
        return (
            <myConnectedRouter scenes={scenes} />
        );
    }
}

export default MyExportedRouter;
从“React”导入React
从“react native Router flux”导入{Router,Scene,Actions};
从'react redux'导入{connect};
从“/../Containers/SettingsContainer”导入设置容器
从“/../Containers/LoginWrapper”导入LoginWrapper
const myConnectedRouter=connect()(路由器);
//TODO:将场景关键点定义为“枚举”:loginScreen->TO\u LOGIN
const scenes=Actions.create(
);
类MyExportedRooter扩展了React.Component{
建造师(道具){
超级(道具);'
};
render(){
返回(
);
}
}
导出默认MyExportedOutler;

还请记住,react native router flux将“_键”作为操作发送到Reducers.js中的reducer。这可以通过按钮on press=“Actions.THE_KEY”来完成。

您确定这就是创建redux存储的方法吗?按照中的示例,尝试这样声明您的商店

const store=createStore(
减速器,
applyMiddleware(…中间件)

);我试图简单地调用createStore(reducers),但这不起作用。我不认为问题就在这里,但可能是因为我的错误消息提到了它。我真的被这件事难住了。
import React from 'react'
import { Router, Scene, Actions } from 'react-native-router-flux';
import { connect } from 'react-redux';

import SettingsContainer from './../Containers/SettingsContainer'
import LoginWrapper from './../Containers/LoginWrapper'

const myConnectedRouter = connect()(Router);
// TODO: Define Scene keys as "ENUMS": loginScreen -> TO_LOGIN
const scenes = Actions.create(
    <Scene key="root">
        <Scene initial key='TO_LOGIN' component={ LoginWrapper } title='LaunchScreen' hideNavBar />
        <Scene key='TO_SETTINGS_VIEW' component={ SettingsContainer } title='Monthly View'  />
    </Scene>
);

class MyExportedRouter extends React.Component {
    constructor(props) {
        super(props);'
    };

    render() {
        return (
            <myConnectedRouter scenes={scenes} />
        );
    }
}

export default MyExportedRouter;