Raect Native之五 props的使用

【REACT NATIVE 系列教程之十一】插件的安装、使用与更新(示例:REACT-NATIVE-TAB-NAVIGATOR) 本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/react-native/2294.html本篇主要来详细介绍如何安装、升级插件及讲解一个react-native-tab-navigator的示例。首先推荐一个插件网站:https://www.npmjs.com     (此插件属于半官方维护 阅读详情
  1. 什么是props?
    大多数组件在创建时就可以使用各种参数来进行定制。用于定制的这些参数就称为props

  2. 如何使用props?

    export default class PropsView extends Component {
        render() {
            var  params = {name:'zhangsan', age:19,sex:'女'}
            var {name,sex} = params;
            return <View>
                    {/* <PropsUse {...params}/> */}
                    <PropsUse name={name} sex={sex}/>
                </View>
        }
    }
    
       export default class PropsUse extends Component{
           static defaultProps={
              name:'小红',
              age:10,
              sex:'男',
           }
       
           static propTypes={
              name:PropTypes.string,
              age:PropTypes.int,
              sex:PropTypes.string.isRequired,
           }
           render(){
              
               return <View>
                       <Text style={{fontSize:26}}>你好, { this.props.name} </Text>
                       <Text style={{fontSize:26}}>年龄: { this.props.age}</Text>
                       <Text style={{fontSize:26}}>性别: { this.props.sex}</Text>
               </View> 
           }
       }
    
  3. 什么是默认属性以及它的作用?
    static defaultProps 设置默认属性,当前一个界面没有数据传过来时,
    使用默认赋值

      static defaultProps={
              name:'小红',
              age:10,
              sex:'男',
           }
            ```
    
  4. 如何对props进行约束和检查?
    PropTypes 进行约束和检查
    name:PropTypes.string 数据类型进行约束
    sex:PropTypes.string.isRequired isRequired非null检查

       import PropTypes from 'prop-types';
       static propTypes={
          name:PropTypes.string,
          age:PropTypes.int,
          sex:PropTypes.string.isRequired,
    }
    
    
  5. props的使用技巧

    1. 扩展运算符{…}
       var  params={name:'zhangsan', age:19,sex:'女'}
       {...params}
    
    1. 结构赋值
       var  params = {name:'zhangsan', age:19,sex:'女'}
       var {name,sex} = params;
       return <View>
                   <PropsUse name={name} sex={sex}/>
               </View>
    

练习项目

UE5 Mass交通规则设计指南:从Stop Sign到智能红绿灯的进阶配置 本文详细解析了UE5 Mass框架下的交通规则设计,从基础Stop Sign到智能红绿灯的进阶配置。通过UMassTrafficIntersectionSpawnDataGenerator等核心组件,实现动态响应、自然流畅的交通行为系统,提升虚拟城市的真实感与游戏性。 阅读详情

相关推荐

通达信K线主图指标公式实战:如何用颜色标记快速识别涨停与炸板信号

本文详细介绍了如何利用通达信K线主图指标公式,通过颜色标记快速识别涨停与炸板等关键信号。通过实战拆解公式源码,手把手教您构建直观的“视觉交易系统”,将复杂的K线形态转化为醒目的颜色信号,帮助投资者高效聚焦机会与风险,提升技术分析效率。

weixin_29302047的博客 1775

Raect Native之六 state的使用

什么是state? 如何使用state? state如何打气球?

jhonjson的博客 259

Unity游戏开发客户端面经——设计模式(初级)

Unity游戏开发客户端面经 之 设计模式 篇

Sea3752的博客 9434

react prop-types的使用讲解

1.引言--JavaScript就是一个熊孩子   1.1对于JSer们来说,JS是自由的,但同时又有许多让人烦恼的地方.javascript 很多时候就是这么一个熊孩子,他很多时候并不会像Ç和java的这些“好孩子”那样循规蹈矩。因此给我们带来许多烦恼   &lt;1&gt;运行时候控制台报错:未记错误,尤其这令人恼火的的英文系统-告诉我们有错误但是又不告诉我们错误发生在哪里试想一下,你...

sjpeter的专栏 5万+

两轮差速小车循线控制原理分析

硬件资料设定:小车驱动来自于两个相同的电机,转向依靠两轮差速实现,小车前后左右安装超声波传感器,前后各一个,左右各两个; 功能目标:假设小车左侧有墙壁,通过超声波测距实现按指定距离沿墙行驶 参数设定:车轮半径r=3cm,车轮间距wd=10cm,车身长length=16cm,侧边超声波传感器前后各一个,假设一个在车头一个在车尾,间距=车身=length=16cm,小车线速度恒定v = 0.2m/s,距离墙d=10cm,假设超声波传感器以10Hz的频率采集距离。 在以上条件下,设定小车出发点,方向与墙平行

aibingjin的博客 1万+

LabVIEW事件结构避坑指南:为什么你的‘确定按钮’事件有时会失灵?

本文深入探讨了LabVIEW事件结构中'确定按钮'事件失灵的常见原因及解决方案。从事件队列机制到事件类型选择,详细分析了事件丢失的五大原因,包括事件处理耗时过长、事件类型选择不当等,并提供了优化登录界面案例的实用建议。掌握这些技巧可显著提升LabVIEW用户界面的响应可靠性。

weixin_42548888的博客 355

Raect Native之七 ref的使用

什么是ref? ref是组件的一种特殊属性,可以理解为,组件被渲染后,指向组件的一个引用。我们可以通过ref属性来获取真实的组件。 定义ref的两种方式 1. &lt;RefTest ref="reftest"&gt; 2.&lt;RefTest ref={retest=&gt;this.reftest=reftest}&gt; 通过ref获取值得两种方式 1. var value = this...

jhonjson的博客 326

AI辅助编程实战指南:从提示工程到开发环境搭建

大型语言模型(LLM)作为现代人工智能的核心技术,通过自然语言理解和生成能力,正在深刻改变软件开发范式。其原理基于海量代码和文本数据的预训练,能够根据上下文生成符合逻辑的代码片段和解决方案。这一技术的核心价值在于将开发者从繁琐的语法和基础逻辑编写中解放出来,提升开发效率与代码质量。在实际工程应用中,AI辅助编程已广泛应用于日常编码、代码调试、文档生成和系统设计等场景。其中,提示工程(Prompt Engineering)和检索增强生成(RAG)是两项关键技术:前者通过结构化、角色化的指令设计,引导AI生成更

weixin_26775679的博客 621

react native 返回并刷新页面

这个在项目中比较常见,可以根据不同的需求使用不同的方法实现。 1、如果是使用goback返回刷新,也就是返回上一级页面后刷新页面,这时可以使用回调方法。 例如:从A跳到B再回到A, A页面定义回调方法, this.props.navigation.navigate("B", { id: this.state.id, refresh: function () { ...

lx_1024的博客 1万+

STM32中断实战:用ITR9606红外传感器DIY转速计数器(附完整代码)

本文详细介绍了如何使用STM32中断机制和ITR9606红外传感器DIY高精度转速计数器。从传感器选型、中断配置到抗干扰设计,提供完整的实战指南和优化代码,特别适合嵌入式开发者和硬件工程师快速实现工业级转速检测系统。

weixin_29159613的博客 290

锂电池SOH估计 | 锂电池SOH基础计算与可视化(Python)

锂电池SOH估计 | 锂电池SOH基础计算与可视化(Python)

前程算法屋的博客 900

用百度语音识别添加自选股

http://www.cnblogs.com/hongyin163/p/react-voise.html 开发慢牛股票app已经有很长一段时间,最近在考虑用什么方式添加自选股最方便?传统的做法是为用户专门开发一个键盘,字母或者数字的,帮助用户录入股票的简称或者编码,大多数app都是这么做的,下面是海通证券app为用户开发的键盘,多数券商是这么做的,这么做已经很不错了。 当然,我的想

Omnictech的专栏 2859

【教程4>第10章>第13节】基于FPGA的图像双边滤波开发——单通道双边滤波Verilog实现

本文介绍了基于Vivado 2022.2的单通道高斯滤波FPGA实现方案。主要内容包括:1)采用3×3窗口像素提取、高斯权值计算、exp指数运算等模块构建双边滤波系统;2)详细分析了Verilog HDL实现的顶层设计文件,包含窗口数据生成、指数计算、混合权重、归一化处理等关键模块;3)展示了图像双边滤波器的RTL结构图。该设计为后续实现RGB三通道图像高斯滤波及MATLAB联合仿真奠定了基础。

FPGA/MATLAB学习教程/源码/项目合作开发 264

React Refs转发

React数据流中,父组件可以传递 props 给子组件,如果要修改子组件里面的这些 props ,只能通过修改父组件的状态,从而更新子组件里面的 props,就能够更新子组件。如果遇到了需要操作一个真实的DOM元素的时候(如输入框聚焦、选中、触发动画),则可以使用Refs。 一. DOM 添加 refs class RefButton extends React.Component{ rend...

显磊的博客 527

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Raect Native之四 组件的生命周期

什么是组件的生命周期? 组件的生命周期有哪些方法,有什么作用? 生命周期方法都在什么时候调用? 先上图: 组件的生命周期可分成三个状态: Mounting:已插入真实 DOM Updating:正在被重新渲染 Unmounting:已移出真实 DOM 生命周期的方法有: componentWillMount 在渲染前调用,在客户端也在服务端。 componentDidMount : 在...

jhonjson的博客 360

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

raect-native学习(3)

react-native实现Navigator Back回退(Android) 直接上解决代码:      我们会用到一个叫做BackAndroid的Component,见名知意,就不多说了。下面说到的Component都是指Navigator切换的路由Component。注意别忘了在import中添加BackAndroid。 在Component的构造方法中,持有一个

u010623588的博客 918

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

React Native 之 Loading dependency graph...

Loading dependency graph… 然后就没然后了!!!! 很尴尬!!!! 正常的现象应该是:Loading dependency graph, done. 这个问题困惑我很久!!!!! 再次给出解决方法: 这篇文章重新安装https://blog.youkuaiyun.com/github_34402358/article/details/83145737 特别注意的地方: brew ins...

jhonjson的博客 5852

ReactNative之 Activity class {xxx/xxx.MainActivity} does not exist

Activity class {xxx/xxx.MainActivity} does not exist 错误原因:MainActivity不在项目的根目录下边 解决方法: 打开对应的文件夹node_modules.react-native/local-cli/runAndroid/,找到runAndroid.js这个文件 修改对应的包文件下正确的路径 移动MainActivity.class...

jhonjson的博客 5285

react-native开发之项目连接夜神模拟器步骤(window)

这里是window为准, 因为mac电脑 夜神模拟器暂时没有摇一摇功能 连接夜神模拟器 adb.exe connect 127.0.0.1:62001 返回 connected to 127.0.0.1:62001 说明 连接成功!!!! cmd 打开命令编辑器 进入项目目录 window 上边运行RN react-native start 点击模拟器上边摇一摇 输入是输入ip 和端口号 ...

jhonjson的博客 4500

React Native 开发第一节

React Native 开发第一节记录 搭建开发环境 1.1 安装 Homebrew https://brew.sh 打开终端输入 粘贴 /usr/bin/ruby -e &amp;amp;quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&amp;amp;quot; 然后回车键,自动下载完成。 1.2 使用Home...

jhonjson的博客 2426

React Native之Clipboard 复制文本

import React, { Component } from 'react'; import { Text, Clipboard, View, TouchableOpacity, } from 'react-native'; export default class CopyContent extends Component { constructor(props) ...

jhonjson的博客 1052

react-native-code-push的集成

react-native-code-push 是微软提供的一套可用于React Native的热更新服务 打开终端: 1.安装 CodePush Cli npm install -g code-push-cli 2.注册CodePush 账号 code-push register 授权完成后,CodePush会显示你的Access Key,复制输入到终端即可完成注册并登陆 ...

jhonjson的博客 726

React Native 开发第三节之Flex

Flex 是 Flexible Box 的缩写,意为&amp;amp;amp;amp;quot;弹性布局&amp;amp;amp;amp;quot;,用来为盒状模型提供最大的灵活性。 注意:设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。 一:容器的6个属性对应设置在容器上 1. flex-direction 2. flex-wrap 3. flex-flow 4. justify-

jhonjson的博客 335

React Native 开发第二节-[集成到现有原生应用]

集成到现有原生应用 集成到现有原生应用 React Native 和原生项目放在同一目录下 之前AwesomeProject下边有一个Android项目 这里边就直接删除就可以了 然后使用软联把原生项目关联起来就OK了。 ln -s /android/ /AwesomeProject 配置 maven 在你的 app 中 build.gradle 文件中添加 React Na...

jhonjson的博客 329

ReactNative 开发之组件的创建方式

组件的创建方式分为三种: 函数式 ES5 ES6 函数式: function HelloWord(){ return &amp;amp;amp;amp;lt;Text style={{fontSize:26.backgroundcolor:yellow}}&amp;amp;amp;amp;gt;Hello Word&amp;amp;amp;amp;lt;/Text&amp;amp;amp;amp;gt; } module.exports = H

jhonjson的博客 251
上一篇: Raect Native之四 组件的生命周期
下一篇: Raect Native之六 state的使用
jhonjson
博客等级 码龄11年 220粉丝 195原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值