【跨端技术React Native】入门学习随笔记录

文章目录

  • [1. 函数组件](#1. 函数组件)
    • [1.1 基本定义方式](#1.1 基本定义方式)
    • [1.2 使用Hook的函数组件](#1.2 使用Hook的函数组件)
  • [2. 如何理解RN中的Props](#2. 如何理解RN中的Props)
  • [3. 双线程架构](#3. 双线程架构)

1. 函数组件

在 React Native 中,函数组件(Function Component) 是一种定义 UI 组件的简洁方式。它本质上是一个 JavaScript 函数,接收 props 作为参数,并返回一个 JSX 元素(即 UI 结构)。

1.1 基本定义方式

java 复制代码
// 普通函数组件
function Greeting(props) {
  return <Text>Hello, {props.name}</Text>;
}

// 箭头函数组件
const Greeting = (props) => (
  <Text>Hello, {props.name}</Text>
);

1.2 使用Hook的函数组件

java 复制代码
import React, { useState } from 'react';
import { View, Text, Button } from 'react-native';

const Counter = () => {
  const [count, setCount] = useState(0);

  return (
    <View>
      <Text>点击次数: {count}</Text>
      <Button title="点击" onPress={() => setCount(count + 1)} />
    </View>
  );
};

2. 如何理解RN中的Props

在 React 和 React Native 中,当你向一个组件传递属性(attributes)时,这些属性会被自动封装成一个对象,这个对象就是 props。

java 复制代码
<MyComponent name="Tom" age={25} gender="男" />

const MyComponent = (props) => {
  console.log(props); // 输出:{ name: "Tom", age: 25, gender: "男" }
  return (
    <View>
      <Text>姓名:{props.name}</Text>
      <Text>年龄:{props.age}</Text>
      <Text>性别:{props.gender}</Text>
    </View>
  );
};

你可以像操作普通对象一样使用 props:

  • 获取属性:props.name
  • 解构赋值:const { name, age } = props;
    props 是 只读 的(immutable),不能直接修改。
    不要直接修改 props,应该通过父组件传递新的值或使用 state 来管理变化。

3. 双线程架构

React Native 采用双线程架构:

JavaScript 线程:运行你的业务逻辑、状态更新、组件渲染等。

原生线程:负责 UI 渲染、动画执行、手势识别等高性能操作

相关推荐
云小逸4 小时前
【nmap源码解析】Nmap OS识别核心模块深度解析:osscan2.cc源码剖析(1)
开发语言·网络·学习·nmap
JustDI-CM5 小时前
AI学习笔记-提示词工程
人工智能·笔记·学习
悟纤5 小时前
学习与专注音乐流派 (Study & Focus Music):AI 音乐创作终极指南 | Suno高级篇 | 第33篇
大数据·人工智能·深度学习·学习·suno·suno api
爱写bug的野原新之助5 小时前
加密摘要算法MD5、SHA、HMAC:学习笔记
笔记·学习
AAA阿giao5 小时前
从零拆解一个 React + TypeScript 的 TodoList:模块化、数据流与工程实践
前端·react.js·ui·typescript·前端框架
ZH15455891315 小时前
Flutter for OpenHarmony Python学习助手实战:Web开发框架应用的实现
python·学习·flutter
百锦再5 小时前
Vue高阶知识:利用 defineModel 特性开发搜索组件组合
前端·vue.js·学习·flutter·typescript·前端框架
CappuccinoRose6 小时前
JavaScript 学习文档(二)
前端·javascript·学习·数据类型·运算符·箭头函数·变量声明
A9better6 小时前
C++——不一样的I/O工具与名称空间
开发语言·c++·学习
AI职业加油站6 小时前
职业提升之路:我的大数据分析师学习与备考分享
大数据·人工智能·经验分享·学习·职场和发展·数据分析