React Native 0.44 - Stack Navigator示例

时间:2017-06-01 03:30:30

标签: android react-native react-native-android

我正在尝试创建我的React Native应用的Android版本,但是我在安装Android导航器时遇到了问题。

download sample code

2 个答案:

答案 0 :(得分:3)

首先创建一个像 appNav.js

这样的文件
[dirList, index] = unique({dirData.folder}.');
outData = [dirList mat2cell(fileList, diff([index; numel(fileList)+1]))]

outData =

  3×2 cell array

    '...\My_Dir\A'    {2×1 cell}
    '...\My_Dir\B'    {1×1 cell}
    '...\My_Dir\C'    {3×1 cell}

然后在 index.android.js

import { StackNavigator } from 'react-navigation';

import Splash from './splash.js';
import Home from './home.js';
import Login from './login.js';
import Register from './register.js';
export const AppNav = StackNavigator({
    Splash: { screen: Splash },
    Home: { screen: Home },
    Login: { screen: Login },
    Register: { screen: Register }
});

export default AppNav;

splash.js

中使用它

在render()函数中添加此项以使用导航

import React from 'react';
import { AppRegistry } from 'react-native';
import AppNav from './components/appnav.js'
AppRegistry.registerComponent('AwesomeApp', () => AppNav);

现在你可以在任何按钮下使用它,比如

const { navigate } = this.props.navigation;

这应该看起来像......

<Button
          onPress={() => navigate('Home')}
          title="Go Home"
        />

你可以挖掘更多here

就这么简单。 欢呼声

答案 1 :(得分:1)

在AppNav文件中,您编写了错误的导入代码,请执行以下AppNav.js

<强> AppNav.js

import Splash from './Splash';
import Home from './Home';
import Login from './Login';
import Register from './Register';

第二个问题是您没有导出文件。 在所有文件中添加最后一行

<强> Home.js

export default Home;

<强> Splash.js

export default Splash;

<强> Login.js

export default Login;

<强> Register.js

export default Home;

我已经对您的代码及其工作进行了此更改。