当前位置: 首页 > news >正文

React Native (RN)的学习上手教程

什么是 React Native?

React Native 是由 Facebook 开发的开源框架,允许开发者使用 JavaScript 和 React 构建原生移动应用。它的口号是"学习一次,编写任何平台"。

React Native 的优势

  • 跨平台开发:一套代码可以同时运行在 iOS 和 Android 平台
  • 使用 JavaScript:无需学习 Swift、Objective-C 或 Java/Kotlin
  • 热重载:实时查看代码更改效果
  • 社区活跃:大量的第三方库和组件
  • 原生性能:渲染为原生 UI 组件,而非 WebView

环境搭建

  1. 安装 Node.js 和 npm

    • 从 Node.js 官网 下载安装
  2. 安装 React Native CLI

    npm install -g react-native-cli
    
  3. 安装平台开发环境

    • iOS:需要 macOS、Xcode
    • Android:需要 Android Studio、JDK、Android SDK
  4. 使用 Expo(可选)

    • 对于初学者,可以使用 Expo 工具简化开发流程
    npm install -g expo-cli
    

React Native 基础概念

组件(Components)

React Native 应用由组件构成,组件可以是:

  • 函数组件:简单的 JavaScript 函数
  • 类组件:继承自 React.Component 的类

状态(State)和属性(Props)

  • Props:从父组件传递给子组件的数据
  • State:组件内部可以改变的数据

样式(Style)

React Native 使用类似 CSS 的样式,但采用驼峰命名法。

创建第一个 RN 应用

使用 React Native CLI:

npx react-native init MyFirstApp
cd MyFirstApp
npx react-native run-android  # 或 run-ios

使用 Expo CLI:

expo init MyFirstApp
cd MyFirstApp
expo start

基本应用代码:

import React from 'react';
import { View, Text, StyleSheet, Button } from 'react-native';

const App = () => {
  const [count, setCount] = React.useState(0);

  return (
    <View style={styles.container}>
      <Text style={styles.title}>我的第一个 React Native 应用</Text>
      <Text style={styles.counter}>计数器:{count}</Text>
      <Button title="增加" onPress={() => setCount(count + 1)} />
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  title: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  counter: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 20,
  },
});

export default App;

常用组件

  • View:类似于 div,容器组件
  • Text:文本组件
  • Image:图片组件
  • ScrollView:可滚动的容器
  • FlatList:高性能列表组件
  • TextInput:文本输入框
  • TouchableOpacity:透明度反馈的触摸组件
  • Button:按钮组件

布局

React Native 使用 Flexbox 进行布局:

  • flex:定义组件如何填充可用空间
  • flexDirection:定义子元素的排列方向
  • justifyContent:定义子元素在主轴上的对齐方式
  • alignItems:定义子元素在交叉轴上的对齐方式

学习资源

  • React Native 官方文档
  • React Native 中文网
  • React Navigation:导航库
  • React Native Elements:UI 组件库

相关文章:

  • 做网站 前端seo承诺排名的公司
  • 中国城乡建设部网站房贴文件公司在百度怎么推广
  • 宁波网站建设在哪里深圳网站推广公司
  • 怎样建设公司网站推广引流软件
  • ip做网站地址三亚百度推广地址
  • 江苏专业做网站的公司网络推广学校
  • datagrip如何连接数据库
  • 驱动开发硬核特训 · Day 7:深入掌握 Linux 驱动资源管理机制(Resource Management)
  • BOE(京东方)旗下控股子公司“京东方能源”成功挂牌新三板 以科技赋能零碳未来
  • docker的安装使用0废话版本自学软硬件工程师778天
  • CExercise_09_2动态拼接字符串_1字符串拼接
  • 图像处理中的梯度计算、边缘检测与凸包特征分析技术详解
  • 衣橱管理助手系统(衣服推荐系统)(springboot+ssm+vue+mysql)含运行文档
  • Spark-SQL 之 Window
  • 算法题型讲解
  • Ubuntu安装Docker引擎
  • SD + Contronet,扩散模型V1.5+约束条件后续优化:保存Canny边缘图,便于视觉理解——stable diffusion项目学习笔记
  • Java学习总结-TCP通信-支持与多个客户端同时通信
  • 园区网拓扑作业
  • CSP认证准备第二天-第36/37次CCF认证
  • 3.IS-IS认证
  • 2143 最少刷题数
  • 【MySQL 删除数据详解】
  • H.264 NVMPI解码性能优化策略
  • Spring Security基本入门
  • python 基础:句子缩写