【发布时间】:2018-09-27 01:35:56
【问题描述】:
当我决定使用 redux 和 redux-saga 时,我已经在使用 react-native 和 react-navigation。 我的问题是我不知道如何在 reducer 或 saga 文件中导航。 我找到了这个link on how to navigate without navigation prop,但这个例子与我的入口文件(index.js)和顶级导航器(src/App.js,不确定这是否是顶级导航器)不同。
index.js(入口)
import React from "react";
import { Provider } from "react-redux";
import { AppRegistry } from 'react-native';
import store from './src/store';
import App from './src/App';
class Entry extends React.Component {
render() {
return (
<Provider store={store}>
<App />
</Provider>
);
}
}
AppRegistry.registerComponent('testApp', () => Entry);
src/App.js
import { createSwitchNavigator, createStackNavigator } from "react-navigation";
import HomeContainer from './containers/HomeContainer';
import SplashContainer from "./containers/SplashContainer";
import LoginContainer from "./containers/LoginContainer";
const HomeStack = createStackNavigator(
{
Home: HomeContainer,
}
);
const LoginStack = createStackNavigator(
{
Login: LoginContainer,
}
);
export default createSwitchNavigator(
{
Splash: SplashContainer,
Dashboard: HomeStack,
Login: LoginStack
},
{
initialRouteName: "Splash"
}
);
package.json
"react-native": "0.55.4",
"react-navigation": "^2.1.0",
"react-redux": "^5.0.7",
"redux": "^4.0.0",
"redux-saga": "^0.16.0",
【问题讨论】:
-
你的 saga 和 reducer 在哪里?
-
嗨,已经解决了。如果我把导航放在我的减速器中可以吗?假设当我的登录成功时,它将导航到主页。 @数字
标签: react-native redux react-redux react-navigation redux-saga