其实就是一个小的demo,不过代码分的挺精巧的

先放地址:https://github.com/linchengzzz/rnTest

来看看效果









确实没有什么可以说的,不过代码部分还行

先入口文件

//index.js
/** @format */ import {AppRegistry} from 'react-native';
import App from './src/App';
import {name as appName} from './src/app.json'; AppRegistry.registerComponent(appName, () => App);

看一下项目目录

在app.js中我们会引用

//src/App.js
import React from "react";
import { createAppContainer} from "react-navigation";
//定义的是
import RootStack from './navigation/RootStack'; const AppContainer = createAppContainer(RootStack); export default class App extends React.Component {
render() {
return <AppContainer />;
}
}

在appNavigator中是可渲染页面的切换入口

//src/navigation/AppNavigator.js
import {createStackNavigator} from "react-navigation";
//引入home页面
import HomeScreen from '../pages/Home';
//引入详情页
import DetailsScreen from '../pages/Details'; export default createStackNavigator({
Home: {
screen: HomeScreen,
mode: 'card'
},
Details: {
screen: DetailsScreen,
mode: 'card'
}
});

rootstack.js可以看作是根引用tab切换目录

//src/navigation/RootStack.js
import {createStackNavigator} from "react-navigation";
import AppNavigator from './AppNavigator'; export default createStackNavigator(
{
Main: {
screen: AppNavigator,
}
},
{
mode: 'card',
headerMode: 'none',
}
);

接下来看页面

//src/pages/Home.js
import React from "react";
import {Button, Text, View} from "react-native"; export default class HomeScreen extends React.Component {
render() {
return (
<View style={{flex: 1, alignItems: "center", justifyContent: "center"}}>
<Text>Home Screen</Text>
<Button
title="Go to Details"
onPress={() => this.props.navigation.navigate('Details', {name: 'linchengzzz'})}
/>
</View>
);
}
}
//src/pages/Details.js
import React from "react";
import {Button, Text, View} from "react-native"; export default class DetailsScreen extends React.Component {
render() {
const { navigation } = this.props;
const name = navigation.getParam('name');
return (
<View style={{ flex: 1, alignItems: "center", justifyContent: "center" }}>
<Text>Details Screen {name}</Text>
<Button
title="Go to Details.t.. again"
onPress={() => this.props.navigation.push('Details')}
/>
<Button
title="Go to Home"
onPress={() => this.props.navigation.navigate('Home')}
/>
<Button
title="Go back"
onPress={() => this.props.navigation.goBack()}
/>
</View>
);
}
}

哎,,,,,,就那里一点是亮点

【水滴石穿】rnTest的更多相关文章

  1. 【水滴石穿】react-native-book

    先推荐一个学习的地址:https://ke.qq.com/webcourse/index.html#cid=203313&term_id=100240778&taid=12778558 ...

  2. iOS 开发笔记 -- 各种细枝末节的知识(水滴石穿)

    在此总结整理,遇到的各种的小问题: 1.通过从字典(数组)中取出的NSString的length==0 作为if的判断条件导致的carsh: 由于在字典中通过Key取出值之后直接做了length相关操 ...

  3. 【水滴石穿】rn_statusbar

    先放项目地址https://github.com/hezhii/rn_statusbar 来看一下效果 咩有感觉很怎么样,看代码 根入口文件 //index.js //看代码我们知道入口是app.js ...

  4. 【水滴石穿】react-native-ble-demo

    项目的话,是想打开蓝牙,然后连接设备 点击已经连接的设备,我们会看到一些设备 不过我这边在开启蓝牙的时候报错了 先放作者的项目地址: https://github.com/hezhii/react-n ...

  5. 【水滴石穿】ReactNative-Redux-Thunk

    老实说,运行出来的项目让人失望,毕竟我想看各种有趣的demo啊- 先放上源码地址:https://github.com/ludejun/ReactNative-Redux-Thunk 我们来一起看看代 ...

  6. 【水滴石穿】mobx-todos

    我觉得代码在有些程序员手里,就好像是画笔,可以创造很多东西 不要觉得创意少就叫没有创意,每天进步一点点,世界更美好 首先源码地址为:https://github.com/byk04712/mobx-t ...

  7. 【水滴石穿】ReactNativeMobxFrame

    项目地址如下:https://github.com/FTD-ZF/ReactNativeMobxFrame 应该可以说的是,项目也只是一个花架子,不过底部的tab稍微改变了 我们一起来看代码 //in ...

  8. 【水滴石穿】react-native-aze

    说个题外话,早上打开电脑的时候,电脑变成彩色的了,锅是我曾经安装的一个chrome扩展,没有经过我的同意开启了 (也许是昨天迷迷糊糊开启了) 上午运行项目都不成功,还以为被黑客攻击了---然后下午就排 ...

  9. 【水滴石穿】douban-movies-react-native

    这个项目的话,倒是可以做一个支架页面,就是你需要什么东西,你就可以在里面加,不过也是比较难的地方 就是数据流,数据处理的部分.react可以处理数据的方式很多,没有见过类似于古老的vue时候可以使用的 ...

随机推荐

  1. HBase 物理视图

  2. Leetcode139. Word Break单词拆分

    给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词. 说明: 拆分时可以重复使用字典中的单词. 你可以假设字典中没有重复 ...

  3. Windows API 第四篇 文件操作

    创建或打开文件(也可用于打开管道,油槽,硬件设备等): HANDLE CreateFile( LPCTSTR lpFileName, // file name DWORD dwDesiredAcces ...

  4. P1249 最大乘积

    打暴力找规律,都是连续自然数去掉一个 n=int(input()) a=[] cnt=0 i=2 tot=0 ans=1 while tot<=n: tot+=i cnt+=1 a.append ...

  5. [转]js模块化(一)

    java有类文件.Python有import关键词.Ruby有require关键词.C#有using关键词.PHP有include和require.CSS有@import关键词,但是对ES5版本的ja ...

  6. pytest框架-介绍、Mark(打标签)、命令运行用例、用例执行顺序、

    1.pytest介绍:基于unittest 之上的单元测试框架 1.1.自动发现测试模块和测试用例: unitest 需要添加用例,(泰斯特楼贷)加载器加载测试用例 pytest 只需要一条代码就可以 ...

  7. UVAL3700

    Interesting Yang Hui Triangle 题目大意:杨辉三角第n + 1行不能整除p(p是质数)的数的个数 题解: lucas定理C(n,m) = πC(ni,mi) (mod p) ...

  8. there is no permission with id `12`

    Laravel 本地环境添加菜单之后, 线上报错, 线上线上用同一个数据库, 原因是缓存问题, 解决方法: php artisan cache:clear 如果缓存有重要数据的, 那就要清除对应的缓存 ...

  9. 支付宝单笔转账demo (改配置直接用)

    支付宝接口说明文档  https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transfer 需要注意的是:rsa的  公钥和 ...

  10. 搭建php虚拟环境

    参考网址: http://my.oschina.net/u/998304/blog/501363?p={{totalPage}} Box镜像列表: http://www.vagrantbox.es/ ...