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

React Native 全栈开发实战班 - 核心组件与导航

在 React Native 中,组件是构建用户界面的基本单元。React Native 提供了丰富的内置组件,涵盖了从基础布局到复杂交互的各种需求。本章节将详细介绍常用的内置组件,并重点讲解列表与滚动视图的使用。

1. 常用内置组件详解

React Native 提供了许多内置组件,开发者可以利用这些组件快速构建应用界面。以下是一些常用的内置组件及其详细用法:

1.1 View

<View> 组件是 React Native 中最基础的布局组件,类似于 HTML 中的 <div>。它用于包裹其他组件,并支持 Flexbox 布局。

常用属性:

  • style:定义组件的样式。
  • flexDirection:定义主轴方向(rowcolumn)。
  • justifyContent:定义子元素在主轴上的对齐方式。
  • alignItems:定义子元素在交叉轴上的对齐方式。

示例:

<View style={{ flex: 1, backgroundColor: '#f0f0f0', padding: 10 }}><Text>Hello, World!</Text>
</View>
1.2 Text

<Text> 组件用于显示文本内容。

常用属性:

  • style:定义文本样式。
  • onPress:定义点击事件处理函数。
  • numberOfLines:限制文本显示的行数。

示例:

<Text style={{ fontSize: 18, color: '#333' }}>Hello, React Native!</Text>
1.3 Image

<Image> 组件用于显示图片。

常用属性:

  • source:图片资源,可以是本地路径或网络地址。
  • style:定义图片样式。
  • resizeMode:定义图片的缩放模式(如 cover, contain, stretch)。

示例:

<Imagesource={{ uri: 'https://example.com/image.png' }}style={{ width: 200, height: 200 }}resizeMode="cover"
/>
1.4 TextInput

<TextInput> 组件用于用户输入文本。

常用属性:

  • style:定义输入框样式。
  • placeholder:设置占位符文本。
  • value:绑定输入框的值。
  • onChangeText:定义文本变化时的处理函数。
  • secureTextEntry:是否显示为密码输入框。

示例:

<TextInputstyle={{ height: 40, borderColor: '#ccc', borderWidth: 1, paddingHorizontal: 10 }}placeholder="请输入用户名"value={username}onChangeText={(text) => setUsername(text)}
/>
1.5 Button

<Button> 组件用于创建按钮。

常用属性:

  • title:按钮标题。
  • onPress:定义按钮点击事件处理函数。
  • color:设置按钮颜色。

示例:

<Buttontitle="Press Me"onPress={() => console.log('Button Pressed')}color="#007bff"
/>
1.6 TouchableOpacity

<TouchableOpacity> 组件用于处理用户点击事件,并提供点击反馈效果。

常用属性:

  • onPress:定义点击事件处理函数。
  • activeOpacity:设置点击时的透明度。

示例:

<TouchableOpacity onPress={() => console.log('TouchableOpacity Pressed')} activeOpacity={0.8}><Text>Press Me</Text>
</TouchableOpacity>
1.7 ScrollView

<ScrollView> 组件用于创建可滚动的视图,适用于内容较多但数量有限的情况。

常用属性:

  • contentContainerStyle:定义内容容器的样式。
  • horizontal:是否水平滚动。
  • showsVerticalScrollIndicator:是否显示垂直滚动条。

示例:

<ScrollView><Text>内容1</Text><Text>内容2</Text><Text>内容3</Text>{/* 更多内容 */}
</ScrollView>
1.8 FlatList

<FlatList> 组件用于高性能地渲染长列表数据。

常用属性:

  • data:列表数据源。
  • renderItem:定义列表项的渲染函数。
  • keyExtractor:定义列表项的唯一键。
  • ListHeaderComponent:定义列表头部组件。
  • ListFooterComponent:定义列表底部组件。

示例:

const data = [{ id: '1', title: 'Item 1' },{ id: '2', title: 'Item 2' },// 更多数据
];<FlatListdata={data}renderItem={({ item }) => <Text>{item.title}</Text>}keyExtractor={(item) => item.id}
/>
1.9 SectionList

<SectionList> 组件用于渲染分组列表数据。

常用属性:

  • sections:分组数据源。
  • renderItem:定义列表项的渲染函数。
  • renderSectionHeader:定义分组头部的渲染函数。
  • keyExtractor:定义列表项的唯一键。

示例:

const sections = [{ title: 'A', data: ['Apple', 'Apricot'] },{ title: 'B', data: ['Banana', 'Blueberry'] },// 更多分组
];<SectionListsections={sections}renderItem={({ item }) => <Text>{item}</Text>}renderSectionHeader={({ section }) => <Text style={{ fontWeight: 'bold' }}>{section.title}</Text>}keyExtractor={(item, index) => item + index}
/>
1.10 SafeAreaView

<SafeAreaView> 组件用于适配不同设备的屏幕安全区域,避免内容被刘海、状态栏等遮挡。

示例:

<SafeAreaView style={{ flex: 1 }}><View style={{ flex: 1, backgroundColor: '#f0f0f0' }}><Text>Hello, SafeAreaView!</Text></View>
</SafeAreaView>

导师答疑

在这里插入图片描述

相关文章:

React Native 全栈开发实战班 - 核心组件与导航

在 React Native 中&#xff0c;组件是构建用户界面的基本单元。React Native 提供了丰富的内置组件&#xff0c;涵盖了从基础布局到复杂交互的各种需求。本章节将详细介绍常用的内置组件&#xff0c;并重点讲解列表与滚动视图的使用。 1. 常用内置组件详解 React Native 提供…...

Leecode热题100-35.搜索插入位置

给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2示例 2: 输入:…...

密码学知识点整理二:常见的加密算法

常用的加密算法包括对称加密算法、非对称加密算法和散列算法。 对称加密算法 AES&#xff1a;高级加密标准&#xff0c;是目前使用最广泛的对称加密算法之一&#xff0c;支持多种密钥长度&#xff08;128位、192位、256位&#xff09;&#xff0c;安全性高&#xff0c;加密效率…...

Linux如何将文件或目录打成rpm包?-- rpmbuild打包详解

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;CSDN博客专家   &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01…...

RabbitMQ-死信队列(golang)

1、概念 死信&#xff08;Dead Letter&#xff09;&#xff0c;字面上可以理解为未被消费者成功消费的信息&#xff0c;正常来说&#xff0c;生产者将消息放入到队列中&#xff0c;消费者从队列获取消息&#xff0c;并进行处理&#xff0c;但是由于某种原因&#xff0c;队列中的…...

爬虫开发工具与环境搭建——环境配置

第二章&#xff1a;爬虫开发工具与环境搭建 第二节&#xff1a;环境配置 在进行爬虫开发之前&#xff0c;首先需要配置好开发环境。一个良好的开发环境不仅能提高开发效率&#xff0c;还能避免因环境不一致带来的问题。以下是环境配置的详细步骤&#xff0c;涵盖了Python开发…...

15.UE5等级、经验、血条,魔法恢复和消耗制作

2-17 等级、经验、血条、魔法消耗_哔哩哔哩_bilibili 目录 1.制作UI&#xff0c;等级&#xff0c;经验&#xff0c;血条 ​2.为属性面板绑定角色真实的属性&#xff0c;实现动态更新 3.魔法的消耗和恢复 1.制作UI&#xff0c;等级&#xff0c;经验&#xff0c;血条 创建控…...

【Homework】【5】Learning resources for DQ Robotics in MATLAB

Lesson 5 代码-TwoDofPlanarRobot.m 表示一个 2 自由度平面机器人。该类包含构造函数、计算正向运动学模型的函数、计算平移雅可比矩阵的函数&#xff0c;以及在二维空间中绘制机器人的函数。 classdef TwoDofPlanarRobot%TwoDofPlanarRobot - 表示一个 2 自由度平面机器人类…...

vue3中 ref和reactive的区别

ref的主要作用 ref 函数接受的参数数据类型可以是原始数据类型也可以是引用数据类型。在模板中使用 ref 时&#xff0c;我们不需要加 .value&#xff0c;因为当 ref 在模板中作为顶层属性被访问时&#xff0c;它们会被自动解包&#xff0c; <p>count: {{ count }}</…...

第十四章 Spring之假如让你来写AOP——雏形篇

Spring源码阅读目录 第一部分——IOC篇 第一章 Spring之最熟悉的陌生人——IOC 第二章 Spring之假如让你来写IOC容器——加载资源篇 第三章 Spring之假如让你来写IOC容器——解析配置文件篇 第四章 Spring之假如让你来写IOC容器——XML配置文件篇 第五章 Spring之假如让你来写…...

群控系统服务端开发模式-应用开发-前端个人资料开发

一、总结 其实程序开发到现在&#xff0c;简单的后端框架就只剩下获取登录账号信息及获取登录账号菜单这两个功能咯。详细见下图&#xff1a; 1、未登录时总业务流程图 2、登录后总业务流程图 二、获取登录账号信息对接 在根目录下src文件夹下store文件夹下modules文件夹下的us…...

动态规划技巧点

动规五部曲&#xff08;来自b站卡哥&#xff09;&#xff1a;1、确定DP数组中i、j…的含义。2、确定DP推导式。3、DP数组初始化。4、DP数组遍历顺序。5、DP数组打印校验。 父问题、子问题有些许区别&#xff1a;LeetCode343.整数拆分 今天在哔哩哔哩上刷到了一个非常有意思的l…...

深度学习之pytorch常见的学习率绘制

文章目录 0. Scope1. StepLR2. MultiStepLR3. ExponentialLR4. CosineAnnealingLR5. ReduceLROnPlateau6. CyclicLR7. OneCycleLR小结参考文献 https://blog.csdn.net/coldasice342/article/details/143435848 0. Scope 在深度学习中&#xff0c;学习率&#xff08;Learning R…...

Spring Boot集成SQL Server快速入门Demo

1.什么是SQL Server&#xff1f; SQL Server是由Microsoft开发和推广的以客户/服务器&#xff08;c/s&#xff09;模式访问、使用Transact-SQL语言的关系数据库管理系统&#xff08;DBMS&#xff09;&#xff0c;它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的&…...

低代码牵手 AI 接口:开启智能化开发新征程

一、低代码与 AI 接口的结合趋势 低代码开发平台近年来在软件开发领域迅速崛起。随着企业数字化转型的需求不断增长&#xff0c;低代码开发平台以其快速构建应用程序的优势&#xff0c;满足了企业对高效开发的需求。例如&#xff0c;启效云低代码平台通过范式化和高颗粒度的可配…...

【已解决】git push一直提示输入用户名及密码、fatal: Could not read from remote repository的问题

问题描述&#xff1a; 在实操中&#xff0c;git push代码到github上一直提示输入用户名及密码&#xff0c;并且跳出的输入框输入用户名和密码后&#xff0c;报错找不到远程仓库 实际解决中&#xff0c;发现我环境有两个问题解决&#xff1a; git push一直提示输入用户名及密码…...

python语言基础-4 常用模块-4.13 其他模块

声明&#xff1a;本内容非盈利性质&#xff0c;也不支持任何组织或个人将其用作盈利用途。本内容来源于参考书或网站&#xff0c;会尽量附上原文链接&#xff0c;并鼓励大家看原文。侵删。 4.13 其他模块 除此之外python中还有大量的功能模块&#xff0c;如&#xff1a; pill…...

微信小程序=》基础=》常见问题=》性能总结

文章目录 微信小程序开发应用 实例小程序生命周期 以及 各生命周期应用实例小程序图片 展示方案 小程序打包应用方案技术细节&#xff08;分包应用实例&#xff09;技术细节&#xff08;压缩处理&#xff09;一、准备工作二、JavaScript 代码压缩三、WXML 文件优化&#xff08…...

JWT深度解析:Java Web中的安全传输与身份验证

标题&#xff1a;JWT深度解析&#xff1a;Java Web中的安全传输与身份验证 引言 JSON Web Token&#xff08;JWT&#xff09;是一种轻量级的身份验证和授权标准&#xff0c;它允许在各方之间安全地传输信息。在Java Web开发中&#xff0c;JWT因其无状态、可扩展性和跨域支持而…...

使用Java爬虫获取商品订单详情:从API到数据存储

在电子商务日益发展的今天&#xff0c;获取商品订单详情成为了许多开发者和数据分析师的需求。无论是为了分析用户行为&#xff0c;还是为了优化库存管理&#xff0c;订单数据的获取都是至关重要的。本文将详细介绍如何使用Java编写爬虫&#xff0c;通过API获取商品订单详情&am…...

2025届毕业生推荐的五大AI论文方案推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 普及时&#xff0c;人工智能生成的内容让文本展现出一种高度模式化的特性&#xff0c;这一情…...

Qwen3.5-9B惊艳效果:上传物理实验图→识别仪器→生成操作步骤视频脚本

Qwen3.5-9B惊艳效果&#xff1a;上传物理实验图→识别仪器→生成操作步骤视频脚本 1. 模型能力概览 Qwen3.5-9B是一款拥有90亿参数的开源大语言模型&#xff0c;在多模态理解和逻辑推理方面表现出色。这个模型最令人惊艳的能力在于它能够&#xff1a; 准确识别实验仪器&…...

如何用Mi-Create实现小米穿戴设备表盘个性化设计?

如何用Mi-Create实现小米穿戴设备表盘个性化设计&#xff1f; 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create Mi-Create是一款专为2021年及以后发布的小米穿戴…...

【SOC锁死SPORT、ECO不生效?10年VCU老兵:模式管理不是切个开关那么简单!】

SOC锁死SPORT、ECO不生效?10年VCU老兵:模式管理不是切个开关那么简单! 副标题:10年老兵深度拆解 | 标定测试故障产品定义 作者 新能源汽车研发测试 10 年高级工程师 关键词 #VCU车辆模式管理#驾驶模式切换逻辑#SOC阈值标定#扭矩Map#VCU测试标定#新能源三电测试#整车能…...

Redis 相关命令详解及其原理

Redis 相关命令详解及其原理 文章目录Redis 相关命令详解及其原理1. Redis 简介2. Redis 安装2.1 包管理器安装2.2 源码编译安装2.4 验证安装3. Redis 基础原理3.1 单线程模型3.2 底层数据结构概述4. 数据类型详解4.1 String&#xff08;字符串&#xff09;底层存储结构常用命令…...

Inconsolata字体高效使用实战指南:提升编程体验的专业字体方案

Inconsolata字体高效使用实战指南&#xff1a;提升编程体验的专业字体方案 【免费下载链接】Inconsolata Development repo of Inconsolata Fonts by Raph Levien 项目地址: https://gitcode.com/gh_mirrors/in/Inconsolata 作为开发者&#xff0c;我们每天与代码打交道…...

从3天到30分钟:OpCore-Simplify如何重构黑苹果配置的技术民主化之路

从3天到30分钟&#xff1a;OpCore-Simplify如何重构黑苹果配置的技术民主化之路 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在黑苹果技术领域&…...

WinForm项目中的并发控制

引言 在编写WinForm应用程序时,处理并发问题是一个常见的挑战,尤其是在涉及数据库操作的场景中。本文将讨论如何在C#的WinForm项目中,通过SQL数据库的操作来避免并发问题,并介绍一种使用原子操作的解决方案。 问题描述 假设有一个WinForm项目,其中包含一个功能模块,需…...

MTK平台录音杂音怎么来的?从AudioALSACaptureDataClientAurisysNormal的mDropPopSize说起

MTK平台录音杂音问题深度解析&#xff1a;从硬件初始化到算法优化的全链路解决方案 在移动设备音频开发领域&#xff0c;MTK平台的录音杂音问题一直是困扰开发者的典型痛点。特别是录音起始阶段出现的"爆破音"或"电流声"&#xff0c;不仅影响用户体验&…...

LFM2.5-1.2B-Thinking多场景落地:Ollama支持下的技术博客写作、论文摘要生成案例

LFM2.5-1.2B-Thinking多场景落地&#xff1a;Ollama支持下的技术博客写作、论文摘要生成案例 你是不是也遇到过这样的烦恼&#xff1a;想写一篇技术博客&#xff0c;对着空白的文档发呆半天&#xff0c;不知道从何下笔&#xff1b;或者面对一篇几十页的学术论文&#xff0c;需…...