Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
React Navigation and Redux example
import React, { Component } from "react";
import { Text } from "react-native";
import { Provider, connect } from "react-redux";
import { StackNavigator, addNavigationHelpers } from "react-navigation";
import Routes from "./config/routes";
import getStore from "./store";
const AppNavigator = StackNavigator(Routes);
const navReducer = (state, action) => {
const newState = AppNavigator.router.getStateForAction(action, state);
return newState || state;
};
@connect(state => ({
nav: state.nav
}))
class AppWithNavigationState extends Component {
render() {
return (
<AppNavigator
navigation={addNavigationHelpers({
dispatch: this.props.dispatch,
state: this.props.nav
})}
/>
);
}
}
const store = getStore(navReducer);
export default function NCAP() {
return (
<Provider store={store}>
<AppWithNavigationState />
</Provider>
);
}
import { combineReducers } from "redux";
import otherReducer from "./otherReducer";
export default function getRootReducer(navReducer) {
return combineReducers({
nav: navReducer,
otherReducer: otherReducer
});
}
import { createStore, applyMiddleware } from "redux";
import thunk from "redux-thunk";
import getRootReducer from "./reducers";
export default function getStore(navReducer) {
const store = createStore(
getRootReducer(navReducer),
undefined,
applyMiddleware(thunk)
);
return store;
}
@JiboStore

This comment has been minimized.

Copy link

commented Sep 12, 2017

syntax error in index.js line 16 @connect(...
Unexpected token (16:0)

@JiboStore

This comment has been minimized.

Copy link

commented Sep 12, 2017

and syntax error: store.js line 4
your file name is reducer.js but you try to import reducers.js
the worst thing about learning javascript is none of those examples work out of the box

@JiboStore

This comment has been minimized.

Copy link

commented Sep 12, 2017

and finally..
can't find variable: Routes
your config/routes file is not even there!
Just wasted another hour debugging stupid examples

@rochapablo

This comment has been minimized.

Copy link

commented Sep 22, 2017

There is no route defined for key Index.
Must be one of: 'LoginNav','RegisterNav','DrawerNav'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.