使用React Native,React Navigation和Redux在内容加载内容时显示启动画面的最佳方法是什么?
我目前有一个Stack Navigator包含:
export const RootNavigator = StackNavigator({
Splash: { screen: SplashScreen },
App: { screen: AppNavigator },
}, {
navigationOptions: { header: null},
});
嵌套的Tab Navigator( AppNavigator )有多个屏幕,可以从React Native WebView 组件加载内容。
我希望在 WebView 组件加载来自各种uri的内容时显示启动画面。计划是使用 WebView 组件的 onLoadStart 和 onLoad 方法向Redux发送操作,以触发导航重置对 AppNavigator的行动。
启动画面和主应用程序之间的导航工作正常,但是当启动画面启动且路径未显示在导航状态时,主应用程序中没有任何内容加载。
加载内容的最佳方法是什么?
Redux Reducer for Navigation:
const initialNavState = RootNavigator.router.getStateForAction(
NavigationActions.init()
);
function NavigationReducer(state = initialNavState, action) {
let nextState = RootNavigator.router.getStateForAction(action, state);
return nextState || state;
}
运行时 initialNavState
:
{
index:0
routes:
Array(1)
0:{routeName: "Splash", key: "Init-id-1504353614126-0"}
}