Почему у вас это так?
export default combineReducers = combineReducers({
todos,
visibilityFilter
})
combineReducers()
написаны таким образом:
import { combineReducers } from "redux";
export default combineReducers({
todos: () => {
return {};
}
});
Дайте этому попытку и помните, что редуктор всегда должен возвращатьобъект, строка или число, это минимальное требование для начала работы с редукторами, чтобы гарантировать, что ваше приложение не сломается и вы можете вывести некоторый контент на экран.
Кроме того, вы неОбязательно нужно идентифицировать ваш combineReducers()
как rootReducer
, вы можете просто сложить его так:
import { createStore, compose, applyMiddleware } from "redux";
import thunk from "redux-thunk";
import reducers from "../reducers";
const store = createStore(reducers, {}, compose(applyMiddleware(thunk)));
export default store;
Наконец, когда вы создали store
, вам необходимо импортировать его обратно вваш App.js
и подключите его с тегом Provider
, например, так:
import React from "react";
import { StyleSheet, Text, View } from "react-native";
import {
createBottomTabNavigator,
createStackNavigator,
createAppContainer
} from "react-navigation";
import { Provider } from "react-redux";
import store from "./store";
И:
export default class App extends React.Component {
render() {
return (
<Provider store={store}>
<View style={styles.container}>
<MainNavigator />
</View>
</Provider>
);
}
}