2017-07-06 58 views
0

我是redux新手。我想用我的react-native应用程序来实现redux。这是我的代码。从index.android.jsReact原生叠加堆栈导航问题:查看未加载

render() { 
    return (
    <View> 
    <RootComponent /> 
    </View> 
); 
} 

根组件是组件/容器我在哪里初始化我stacknavigator

应用越来越初始化。

const AppNavigator = StackNavigator({ 
Login: { screen: LoginContainer }, 
App: { screen: AppContainer } 
}, 
{ 
    headerMode: 'none' 
} 
); 

const navReducer = (state, action) => { 
    const nextState = AppNavigator.router.getStateForAction(action, state); 
    return nextState || state; 
}; 

const appReducer = combineReducers({ 
    nav: navReducer 
}); 

class App extends Component { 
render() { 
    return (
     <AppNavigator navigation={addNavigationHelpers({ 
      dispatch: this.props.dispatch, 
      state: this.props.nav, 
     }) } /> 
    ); 
} 
} 

const mapStateToProps = (state) => ({ 
    nav: state.nav 
}); 

const AppWithNavigationState = connect(mapStateToProps)(App); 

const store = createStore(appReducer); 

export default class RootComponent extends Component { 
constructor(props) { 
    super(props); 
} 

render() { 
    return (
     <Provider store={store}> 
      <AppWithNavigationState /> 
     </Provider> 
    ); 
} 
} 

根据我的导航,我应该去登录组件/容器。容器如下:

export default class LoginContainer extends Component { 
constructor(props) { 
    super(props); 
    alert('In login component'); 
} 

render() { 
    return (
     <View> 
      <Text> 
       Login Screen 
      </Text> 
     </View> 
    ); 
} 
} 

运行代码后,我可以看到在我的Login组件的构造函数中写入的警报。尽管模拟器上既没有显示视图,也没有显示任何错误。

任何人都可以帮助我。

+1

请在github上查看我的问题。我问过我是否应该将redux集成到react-navigator中。 https://github.com/react-community/react-navigation/issues/2003答案是否定的。所以海事组织你不应该尝试整合。这样做没有好处,加上你会失去时间。 – FurkanO

+1

@FurkanO:谢谢你的回复。即使我不确定是否使用它。这篇文章有帮助。再次感谢 :) –

回答

0

只需添加样式到这两个母公司的<View>标签这样<View style={{flex: 1}}>充当一个包装所有的JSX内index.android.jsLoginContainer

您的<View> s基本上在屏幕上不可见,因为它们没有任何高度和宽度。

希望它有帮助!