ReactNative: 不一样的 HelloWorld

SAP 采购申请、采购订单的审批策略 采购申请、采购订单的审批策略 采购申请审批 PR审批可以分为:含分类、无分类 1、无分类PR审批: A、后台配置: 设置批准代码(批准代码可以设置多级审批): 发布批准标识使用系统已有的 “2 询价/采购订单”: 新建采购申请审批策略Z1(仅设置1级审批,一共可以设置8级审...... 阅读详情

如果之前你折腾过 ReactNative, 那么跑起来的效果就是几行文字.

今天给大家展示一下在官方 start 的例子基础之上展示不一样的效果.

声明

1.ReactNative 版本是0.32.0
2.React 版本是15.3.0

下面跟大家分享如何展示 RN 自带的按钮组件.
后面会陆续给大家分享如何自定义按钮以及如何处理事件的传递等.

UI 效果图如下:
1

其中, 按钮1, 是TouchableOpacity
按钮2, 是TouchableHighlight, 自带按下效果.


index.ios.js

 * MZRNTutorial React Native App
 *
 * https://github.com/facebook/react-native
 */

import React, { Component } from 'react';

import {
  AppRegistry,
  StyleSheet,
  Text,
  View,
  Platform,/* 平台信息 */
  TouchableOpacity,
  TouchableHighlight
} from 'react-native';

class MZRNTutorial extends Component {

  /* 构造函数 */
  constructor(props)
  {
      super(props);
      this.state={status:1};
  }

  /* 按钮点击事件 */
  customPressHandler = () => {
      alert('当前状态: ' + this.state.status);

      this.state.status += 1;
  }

  render() {
    console.log('render ...');

    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Use React Native!
        </Text>
        <Text style={styles.instructions}>
          To get started, edit index.ios.js
        </Text>
        <Text style={styles.instructions}>
          Press Cmd+R to reload,{'\n'}
          Cmd+D or shake for dev menu
        </Text>

        {/* 显示当前平台信息*/}
        <Text style={styles.platformInfo}>
            current os: {Platform.OS}
        </Text>

        {/* 添加按钮1*/}
        <TouchableOpacity
            style={styles.button}
            onPress={this.customPressHandler}
            >
            <Text style={styles.buttonText}>确定</Text>
        </TouchableOpacity>

         {/* 添加按钮2*/}
        <TouchableHighlight
            style={styles.button}
            onPress={this.customPressHandler}
            >
            <Text style={styles.buttonText}>取消</Text>
        </TouchableHighlight>

    </View>
    );
  }
}

const styles = StyleSheet.create({
  button: {
    height: 40,
    width: 200,
    borderRadius: 5,
    justifyContent: 'center',
    backgroundColor: 'green',
    overflow: 'hidden',
    margin: 20
  },
  buttonText: {
    textAlign: 'center',
    color: 'white'
  },
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#FAF5F0',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
 platformInfo: {
    fontSize: 30,
    textAlign: 'center',
    margin: 10,
  },

  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
  flowRight: {
   flexDirection: 'row',
   alignItems: 'center',
   alignSelf: 'stretch'
 },

});

AppRegistry.registerComponent('MZRNTutorial', () => MZRNTutorial);

AppDelegate.m

 * Copyright (c) 2015-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 */

#import "AppDelegate.h"
#import "IDSRNConfig.h"
#import "RCTRootView.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  NSURL *jsCodeLocation;

  /**
   * Loading JavaScript code - uncomment the one you want.
   *
   * OPTION 1
   * Load from development server. Start the server from the repository root:
   *
   * $ npm start
   *
   * To run on device, change `localhost` to the IP address of your computer
   * (you can get this by typing `ifconfig` into the terminal and selecting the
   * `inet` value under `en0:`) and make sure your computer and iOS device are
   * on the same Wi-Fi network.
   */

  //kLocalHostIP 是我本机 ip 定义的宏
  NSString *urlStr = [NSString stringWithFormat:@"http://%@:8081/index.ios.bundle?platform=ios&dev=true", kLocalHostIP];
  jsCodeLocation = [NSURL URLWithString:urlStr];

  /**
   * OPTION 2
   * Load from pre-bundled file on disk. The static bundle is automatically
   * generated by the "Bundle React Native code and images" build step when
   * running the project on an actual device or running the project on the
   * simulator in the "Release" build configuration.
   */

  //jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];

  RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
                                                      moduleName:@"MZRNTutorial"
                                               initialProperties:nil
                                                   launchOptions:launchOptions];
  rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];

  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  UIViewController *rootViewController = [UIViewController new];
  rootViewController.view = rootView;
  self.window.rootViewController = rootViewController;
  [self.window makeKeyAndVisible];

  return YES;
}

@end

代码注释很清楚, 自行翻阅.
可以修改样式或者其他代码, 点开模拟器, command+R 重新 load 即可看到效果.

这里有几点跟大家声明一下:

1.关闭 Bitcode
2.关闭 https 限制
3.修改 localhost 为本机 ip 地址.

其中关闭 Https 限制, 可以更改 info.plist 文件

2

另外, 我的 js 代码编辑是在 atom (配合 nuclide插件) 完成的.

手把手教你学PCIE--系统内存管理:GART(Graphics Address Remapping Table)的典型用途详解 GART(图形地址重映射表)是GPU的核心组件,主要用于地址映射转换。其典型用途分为物理模式和虚拟模式两类:在物理模式下,GART将GPU虚拟地址映射到分散的物理内存,支持DMA连续访问非连续内存块,适用于GPU渲染纹理采样和AI推理数据搬运等场景;在虚拟模式下,GART配合IOMMU实现多级映射,将GPU虚拟地址转换为虚拟机物理地址再映射到宿主机物理地址,确保多租户隔离,应用于云服务器GPU共享和容器化AI训练等虚拟化环境。两种模式分别优化了高性能计算场景和虚拟化场景的需求。 阅读详情

相关推荐

我用 AI Agent 全自动跑 COMSOL 仿真:从建模到后处理,踩了 10+ 个深坑

本文探讨了利用AI通过COMSOL Java API实现AI芯片液冷冷板全流程自动化仿真的实践。针对700W高功耗AI芯片的散热需求,构建了包含4颗Chiplet和微通道冷板的三维液冷模型。通过严格设计的Prompt工程,AI Agent成功完成了从几何建模到结果验证的全过程,最终实现了芯片最高温度54°C的良好散热效果。文章重点分享了10个关键问题的解决经验,包括流体连通性验证、网格顺序控制、离散阶数选择、收敛判据优化等,并建立了包含流场/热场/网格独立性的三重验证体系。实践表明,AI可高效处理重复性工作

sjjsjjsjjsjjsjj的博客 995

ReactNative入门之编写HelloWorld

上一篇文章简要的概括了RN的环境搭建,从本篇开始,我会带大家从一个RN小白,一步一步的具备RN开发的能力。按照传统,我们从HelloWorld开始。import React, { Component } from 'react'; import { AppRegistry, Text } from 'react-native'; class HelloWorldApp extends Compone

ZACH_ZHOU的博客 1169

使用podman 容器化安装DIFY

本文阐述了使用podman容器化安装DIFY的过程

wengad的博客 1902

react native 之hello world

前言:前几天将react native开发需要的环境给搭建了起来,并且也初始化了一个react native 项目,这篇文章接着上个阶段,将细致的一步到位的简单的告诉对面的你怎么去将初始化的react native 项目在真机上跑起来,并且推开RN技术学习的大门,实现标志性的效果 hello world!! 友情提示:以下流程的操作是基于我的windows电脑已经配置了java,安装了R

蒙的博客 1591

Paraview:Python Calculator Filter

python calculator过滤器 from paraview.simple import * connection = servermanager.Connect('localhost',11111) er = servermanager.sources.EnSightreader(CaseFileName='/.../data.case') er.PointArrays = ['x_velocity','1','y_velocity','1','z_velocity','1','cp','1']

haimianjie2012的专栏 3496

Plant Simulation新手入门:5步搞定生产线物流仿真(附模型库使用技巧)

本文为Plant Simulation新手提供了从零开始构建生产线物流仿真的五步入门指南。通过理念重塑、流程规划、对象连接、参数设置到数据分析的完整流程,帮助用户快速掌握这一强大仿真工具的核心逻辑。文章特别强调了模型库的高效使用技巧,助力工程师在虚拟环境中精准模拟和优化生产系统,提升规划效率。

efc123456的博客 336

ReactNative入门(一)——环境搭建及第一个RN项目—HelloWorld

ReactNative入门——本篇以及接下来的几篇有关RN的文章,是默认你对前端相关知识如Node,React,以及原生移动端Android可以熟练使用的情况下(最起码达到了解会用的程度)为前提的!不然你就需要先去了学习前端(React为主)以及Android端知识了!另外,文章的内容都是在Windows环境下进行的!ReactNative是个什么东西?这里我就不做详细讲解了,直接去官网查看即可!

白玉梁的专栏 4268

4、高光图像滤镜显著改善文本图像的光学字符识别

本文介绍了高光图像滤镜在光学字符识别(OCR)中的应用,详细探讨了其技术原理、实现步骤和在多种场景下的效果。通过增强文本图像的边缘和对比度,高光滤镜显著提升了OCR的识别率,尤其适用于扫描文档、手写笔记和低质量图像。实验结果表明,该方法在不同类型的文本图像中均表现出色,并提出了未来优化方向,如深度学习集成和多模态融合,为OCR技术的发展提供了新的可能性。

ooo22的博客 97

React Native 入门之hello word教程

react-native 入门之hello word教程 一、简介 在过去的一年里,react-native还是很火热的,曾有人说将来native的天下要么是react-native,要么是动态插件化开发。不管怎么说都提现了react-native的火热。本文将会介绍react-native的入门级开发---hello world! 首先,react-native是什么? React Native允许你仅仅使

lv1317039693的博客 1215

SerDes系列之如何选择AC耦合电容

交流耦合电容用于隔离PCB互连时的直流分量(Common-mode voltage),同时传递交流分量(Voltage swing),其作用类似于一个高通滤波器,但是,如果电容容值选取不当,使用过程中会产生信号质量问题,典型的应用场景:当包含相同的长串1或0的NRZ数据应用于该高通滤波器时,会发生低频电压跌落,导致低频模式相关抖动(PDJ)。

一只豌豆象的博客 2354

YOLO11改进|YOLO11中引入注意力和卷积融合模块CAFMAttention

YOLO11改进|YOLO11中引入注意力和卷积融合模块CAFMAttention

A1983Z的博客 1225

React-native 程序第一个HelloWorld的编写

前提: 我上文提到的环境配置,如果都ok的话,即可进行以下编写:第一步: cmd 命令行输入:  react-native init RNDemo 回车  (备注:RNDemo 是自己随便给新程序命名,相当于Android Studio中的 New Project)  这个命令的目的,就是建立一个React native的新工程 ,等到cmd执行完毕,即可在cmd执行的目录下,看到新建的RNDem...

wolfking0608的博客 3026

Unity 如何使用命令模式

命令模式 游戏中,当你想通过一种通用的方式来存储命令并能够撤消命令时,那么命令模式最有用。 在“示例”中,你将看到一个可以通过GUI按钮移动的简单点。 采取行动后,您可以撤消并重做。我在屏幕上添加了一个简单的OnGUI标签输出,因此您可以看到命令列表,并指出哪个是当前命令。 在此示例中使用了4个类: Command-这是任何命令模式都可以继承的基本结构(抽象类)。您可以在任何项目中使用此类。 MoveCommand-这是从Command类继承的结构,将使用Execute和UnExecute(撤消)。每个移

TxNet 1557

RN 尝鲜之旅

React Native 一直没使用过,闲来无事,还是尝鲜了一下下。目前还没有出新手村,所以写的东西不一定具有任何参考价值,见谅。

Cat的专栏 570

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ReactNative之从HelloWorld中看环境搭建、组件封装、Props及State

开篇呢,先给大家问个好,今天是中秋节,祝大家中秋节快乐!!虽然是中秋节,但是木有回家还是总结一下知识点写写博客吧,想着昨天总结一下的,但是昨天和几个同学小聚了一下,酒逢知己总是千杯少呢,喝的微醺不适合写东西,所以就留到今天总结了。因为这段时间在工作中陆陆续续的接触到了一些RN开发的东西,还是需要总结一下的。今天只是个开篇,接下来还会有陆陆续续的关于RN开发的总结,今天主要是环境搭建、简单的组件封装、Props和State的介绍,稍后还会更新布局、动画等一些开发中常用的东西。 虽然RN没有Relea...

marcushbs的博客 180

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ReactNative 入门

1.开发环境和本地调试上的差别,RN开发环境比较麻烦,最好对原生开发工具(Android Studio / XCode)有一些基本的了解,遇到问题谷歌和百度官网和社区都能解决。4.本地存储和全局对象的差别,RN中通过官方提供asyc-storeage或者社区的第三方包实现,且无window对象,需要全局对象可以自行实现全局单例即可。3.样式编写上的差别,无className, 只支持内联样式,通过RN提供的style.create创建,且样式无继承,一些样式属性上也存在差异。// TODO 未完成待续~

tumi 2084

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

RN自学资料收集

目录 学习RN,首选React Native中文网 mac搭建并运行react-native项目 RN创建第一个项目 项目开发过程中调试方法 ReactNative程序第一个HelloWord编写 RN的第一个项目:导航+底部条切换+页面跳转 UI库 React-Native 最完美的提示组件: Toast@2.0 一款基于react-native的弹窗提示组件 React Native 之 CheckBox 组件 RN 样式篇 Shadow 阴影效果 react-native 生成

menglong0329的博客 487

iOS reactNative开发环境 并创建一个reactNative项目

React Native 主要依赖以下环境: Mac OS X操作系统 Xcode, 推荐使用7.3.0或者更高版本。 Node.js V6.2.1或者最新版本。 watchman和flow。 NVM 1,安装xcode,这里不做介绍 2,安装node.js 打开Node.js官网, 直接下载. 3,安装homebrew,打开Hom...

sss1507089的博客 694

ReactNative 源码编译集成

尝试将ReactNative源码编译并在Android手机上运行一个HelloWorld, 浪费不少时间踩坑,总结一下整个搭建过程:   1. 准备工作: Android SDK                                      26.0.1 Android NDK                                      android-ndk-r...

mu_xixi的博客 1677

RN-环境搭建和HelloWorld

RN-环境搭建和HelloWorld 1.开发环境 开发所需要的软件 Node.js 1.Node.js的安装 官网:https://nodejs.org/en/download/ 2.安装React Native 命令行工具 npm install -g react-native-cli 3. 安装AndroidStudio 注意配置环境变量 2.HelloWorld react-nati...

JiKaTogether的博客 372

React Native HelloWorld初探

Facebook 在 React.js Conf 2015 大会上推出了基于 JavaScript 的开源框架 React Native。 React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用。在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等。React Native 使你能够使用基于 JavaScript 和 React一致的开发体验在本地平台上构建世

Android再出发 719

ReactNative之helloWorld

React Native看起来很像React,只不过其基础组件是原生组件而非web组件。要理解React Native应用的基本结构,首先需要了解一些基本的React的概念,比如JSX语法、组件、state状态以及props属性。如果你已经了解了React,那么还需要掌握一些React Native特有的知识,比如原生组件的使用。这篇教程可以供任何基础的读者学习,不管你是否有React方面的经

koocui的博客 374

reactnative 深层次_ReactNative混合开发从0到1,运行helloworld

ReactNative混合开发从0到1,运行helloworldWeex,mui,flutter,uni-appWeex,类vue语法,性能较差,一直在更新Mui,js语法,性能一般,17年就没人维护Flutter,dart语言,类react风格,性能较好,一直在更新Uni-app,类vue语法,性能较好,一直在更新,优势,可以跨多方平台Reactnative,类react语法,性能较好,一直在更...

weixin_39559382的博客 214

ReactNative(二)——HelloWorld

ReactNative(二)——HelloWorld http://blog.youkuaiyun.com/gz_jero/article/details/51503028 标签: webstormReactAndroid 2016-05-25 23:28 818人阅读 评论(0) 收藏 举报  分类: ReactNative(6)  版权声明:

u011904605的博客 310

ReactNative-HelloWorld

要理解React Native应用的基本结构,首先需要了解一些基本的React的概念,比如JSX语法、组件、state状态以及props属性。如果你已经了解了React,那么还需要掌握一些React Native特有的知识,比如原生组件的使用。 Hello World 根据历史悠久的“传统”,我们也来写一个“Hello World”: import React, { Co

u014773226的博客 838

ReactNative从入门到实践搭建环境

**ReactNative从入门到实践搭建环境** 参考React Native中文官网(V0.42)安装工具介绍根据最新的官方文档和实际集成经验整理2017-04-19 Android开发环境要求 ·Android Studio2.0或更高版本 ·【 JDK 】1.8或更高版本 ·【SDK 】版本为23或更高版本 ·必须安装Android Support Repository环

IT_luntan的专栏 918
上一篇: ReactNative: 结合工程的思考
下一篇: 反向代理
veryitman
博客等级 码龄16年 472粉丝 310原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值