Нет ключа для ключа (реагировать родной) - PullRequest
0 голосов
/ 16 сентября 2018

Я пытаюсь интегрировать избыточную навигацию в мое существующее приложение.Это показывает мне ошибку No reducer provided for key navReducer.Любая помощь приветствуется.Другие ответы на stackoverflow указывают на тот факт, что существует проблема с импортом, когда возникает такая ошибка, но я не уверен, почему это происходит в моем случае.

Мой /components/navigation.js:

import React, { Component } from 'react'
import { createStackNavigator } from 'react-navigation'
import Login from '../containers/loginContainer'
import Home from '../containers/homeContainer'
import {
  reduxifyNavigator,
  createReactNavigationReduxMiddleware,
  createNavigationReducer,
} from 'react-navigation-redux-helpers'

export const RootStack = createStackNavigator(
  {
    Login: {
      screen: Login,
    },
    Home: { 
      screen: Home,
    },
  },
  {
    initialRouteName: 'Login'
  }
)

export const navReducer = createNavigationReducer(RootStack)

export const navigationMiddleware = createReactNavigationReduxMiddleware(
  "root",
  state => state.nav,
)

const appNavigator = reduxifyNavigator(RootStack, "root")
const mapStateToProps = (state) => ({
  state: state.nav,
})

export const AppWithNavigationState = connect(mapStateToProps)(appNavigator)

Моя конфигурация магазина:

import { createStore, applyMiddleware, compose } from 'redux'
import { persistStore, persistReducer } from 'redux-persist'
import thunk from 'redux-thunk'
import storage from 'redux-persist/lib/storage'
import rootReducer from './reducers'
import { navigationMiddleware } from './components/navigation'

const persistConfig = {
  key: 'myKey',
  storage,
}

const middlewares = [thunk, navigationMiddleware]

const persistedReducer = persistReducer(persistConfig, rootReducer)
const store = createStore(
  persistedReducer,
  {},
  compose(
    applyMiddleware(...middlewares)
  )

)
const persistedStore = persistStore(store)

export default store

Мой корневой редуктор выглядит примерно так:

import { combineReducers } from 'redux';
import { navReducer } from '../components/navigation'

const rootReducer = combineReducers({
  navReducer, // It throws the error here!!
})

export default rootReducer
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...