首页 > 解决方案 > React Native TypeError store.getState 不是函数

问题描述

大家好,我正在努力使我的代码更具可读性和实用性。

在 React Native 中使用 redux-saga 我遇到了一些问题。

当我尝试加载应用程序时,出现错误:

TypeError:store.getState 不是函数

此错误位于:

in Connect(Reprov) (at App.js:17)
in RCTView (at View.js:44)
in Provider (at App.js:14)
in App (at renderApplication.js:34)
in RCTView (at View.js:44)
in RCTView (at View.js:44)
in AppContainer (at renderApplication.js:33)

src/store/configureStore.js


import {createStore, applyMiddleware} from 'redux'
import createSagaMiddleware from 'redux-saga';
import rootReducer from '../reducers';
import rootSaga from '../sagas';

export default function () {
  const sagaMiddleware = createSagaMiddleware();
  const store = createStore(
    rootReducer,
    applyMiddleware(sagaMiddleware)
  );

  sagaMiddleware.run(rootSaga)

  return store;
}

src/App.js

import React, {Component} from 'react'
import { View } from 'react-native';
import { Provider } from 'react-redux';
import AppNavigation from './Navigation';
import store from './store/configureStore';
import Reproof from './screens/Reprov';
import Approval from './screens/Aprov';
import PushNotificationController from './components/Push';

class App extends Component {
  render() {
    return (
      <Provider store={store}>
        <View style={{ flex: 1 }}>
          <AppNavigation />
          <Reproof />
          <Approval />
          <PushNotificationController />
        </View>
      </Provider>
    )
  }
}

export default App;

我不知道我做错了什么......

标签: javascriptreact-nativereact-reduxredux-saga

解决方案


您正在将商店作为变量导入,并且在文件中,它是一个函数:

import store from './store/configureStore';

试试这个 :

import configureStore from './store/configureStore';

然后创建一个变量存储

const store = configureStore();

推荐阅读