reactjs - React Native - (0, _redux.combineReducers) 不是函数

标签 reactjs react-native redux react-redux reducers

我目前正在学习 React Native 中的一些 redux。但是,如果我尝试将我的 reducer 组合到一个 index.js 文件中,我总是会遇到一个错误。

(0, _redux.combineReducers) is not a function

我看了一些关于如何使用它的教程,我按照每一步操作,但它一直出现在我的屏幕上。

我的 App.js 看起来像这样:

import React, { Component } from 'react';
import { Platform, StyleSheet, Text, View } from 'react-native';
import ReduxThunk from 'redux-thunk';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import reducers from './reducers/reducers';
import { Header } from './components/common/Header';

let store   = createStore(reducers, applyMiddleware(ReduxThunk));

export default class App extends Component {
    render() {
        return (
            <Provider store={ store }>
                <View style={ styles.container }>
                    <Header title="Tech Stack"/>
                </View>
            </Provider>
        );
    }
}

我的 reducers.js 在文件夹 src/reducers 中:

console.log('HELLO');
import { combineReducers } from 'redux';
console.log( combineReducers );
import LibraryReducer from './LibraryReducer';

const reducers = combineReducers({
    libraries: LibraryReducer
});

export default reducers;

// Fixed the log. When i'm loggin combineReducers i get undefined.

LibraryReducer.js

import data from '../data/LibraryList.json';

export default () => data;

Console errors: 
[Error log][1]

数据json:

[
    {
        "id": 0,
        "title": "React",
        "description": "JS framework"
    },
    {
        "id": 1,
        "title": "Vue",
        "description": "JS framework"
    },
    {
        "id": 2,
        "title": "Angular",
        "description": "JS framework"
    }
]

包.json

{
  "name": "redux",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": "16.6.1",
    "react-native": "0.57.5",
    "react-redux": "^5.1.1",
    "redux": "^4.0.1",
    "redux-thunk": "^2.3.0"
  },
  "devDependencies": {
    "babel-jest": "23.6.0",
    "jest": "23.6.0",
    "metro-react-native-babel-preset": "0.49.2",
    "react-test-renderer": "16.6.1"
  },
  "jest": {
    "preset": "react-native"
  }
}

谢谢大家的建议!

已解决: 开始了一个新项目,但没有给它取名为 redux 本身。

最佳答案

看起来您遇到的问题与 here 相同.

TLDR:将您称为 redux 的文件夹重命名为其他名称,删除您的 node_modules 并重新安装,它应该可以工作。

关于reactjs - React Native - (0, _redux.combineReducers) 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53420983/

相关文章:

react-native - React Native-Pod安装问题 "cannot load such file.......node_modules/react-native/scripts/react_native_pods"

javascript - 从 React TypeScript 组件调用外部 Javascript 函数

javascript - 有没有办法强制更新 redux-form 提交 Prop ?

javascript - React.js——如何将属性对象传递给子组件?

javascript - React JS - 解析复杂的 Json 结构并填充到下拉列表中

javascript - React Native 内联显示验证错误

javascript - Redux 工具包 thunk 操作通用错误处理程序

javascript - 设置状态不是在 React/ES6 中重新渲染组件

javascript - 如何在给定谓词的情况下禁用按钮

javascript - 如何显示图像的唯一部分