广告
返回顶部
首页 > 资讯 > 精选 >React中Props类型校验和默认值的示例分析
  • 904
分享到

React中Props类型校验和默认值的示例分析

2023-06-29 18:06:03 904人浏览 泡泡鱼
摘要

这篇文章主要为大家展示了“React中Props类型校验和默认值的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“React中Props类型校验和默认值的示例分析”这篇文章吧。一、prop

这篇文章主要为大家展示了“React中Props类型校验和默认值的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“React中Props类型校验和默认值的示例分析”这篇文章吧。

一、props规则校验

安装 prop-types 包

$ npm install prop-types

导入 propTypes 对象

import propTypes from 'prop-types';

组件名.propTypes = {} 设置组件 传参规则

Comp.propTypes = {param: propTypes.array  // Comp组件 的 param 参数必须是 数组类型}

示例:

// props 类型校验规则import React from 'react';// 1. npm i prop-types// 2. 导入 propTypes 对象import PropTypes from "prop-types";function Son({list}) {    return (        <div>            {list.map(item => <p key={item}>{item}</p>)}        </div>    )}// 3. 组件名.propTypes = {} 给组件设置规则Son.PropTypes={    // 4. 各字段设置规则    list: PropTypes.array // Son的list参数必须是 数组形式}class App extends React.Component {    render() {        return (            <div>                <Son list="我企鹅亲子装"/>            </div>        )    }}export default App;

报错提示如下:

React中Props类型校验和默认值的示例分析

四种常见结构

  • 常用类型:arraynumberboolstringfuncobjectsymbol

  • React元素类型:element

  • 必填项:isRequired

  • 特定的结构对象:shape({})

核心代码:

// 1.类型optionalFun: PropTypes.fun;// 2.必填项requiredFun: PropTypes.fun.isRequired;// 3. // 可以指定一个对象由特定的类型值组成optionalObjectWithShape: PropTypes.shape({    color: PropTypes.string,    fontSize: PropTypes.number}),

二、props默认值

1.函数式默认值

1.1 函数参数默认值(新版推荐)

示例:

import React from "react";// 1. 函数参数默认值function Son1({defaultTime = 10}) {    return (        <div>The timer is : {defaultTime}</div>    )}class App extends React.Component {    render() {        return (            <div>                <Son1 />            </div>        )    }}export default App;

React中Props类型校验和默认值的示例分析

1.2 defaultProps 设置默认值
function Son2({defaultTime}) {    return (        <div>The second timer is: {defaultTime}</div>    )}// 2. defaultProps 设置默认值Son2.defaultProps = {    defaultTime: 100}class App extends React.Component {    render() {        return (            <div>                <Son1 />                <Son2 />            </div>        )    }}

React中Props类型校验和默认值的示例分析

2.类式默认值

2.1 defaultProps
class Son3 extends React.Component {    render() {        return (            <div>The defaultTimer is : {this.props.defaultTime}</div>        )    }}// defaultProps 设置默认值Son3.defaultProps = {    defaultTime: 3333}
2.2 类静态属性声明
class Son4 extends React.Component {    static defaultProps ={        defaultTime: 66666    }    render() {        return (            <div>The defaultTimer is : {this.props.defaultTime}</div>        )    }}

完整示例

// props默认值import { func } from "prop-types";import React from "react";// 1.1 函数参数默认值function Son1({defaultTime = 10}) {    return (        <div>The timer is : {defaultTime}</div>    )}function Son2({defaultTime}) {    return (        <div>The second timer is: {defaultTime}</div>    )}// 1.2 defaultProps 设置默认值Son2.defaultProps = {    defaultTime: 100}class Son3 extends React.Component {    render() {        return (            <div>The defaultTimer is : {this.props.defaultTime}</div>        )    }}// 2.1 函数 defaultProps 设置默认值Son3.defaultProps = {    defaultTime: 3333}// 2.2 静态属性声明class Son4 extends React.Component {    static defaultProps ={        defaultTime: 66666    }    render() {        return (            <div>The defaultTimer is : {this.props.defaultTime}</div>        )    }}class App extends React.Component {    render() {        return (            <div>                <Son1 />                <Son2 />                <Son3 />                <Son4 />            </div>        )    }}export default App;

如图:

React中Props类型校验和默认值的示例分析

以上是“React中Props类型校验和默认值的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: React中Props类型校验和默认值的示例分析

本文链接: https://www.lsjlt.com/news/326098.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • c语言中parse函数怎么用
    parse 函数解析字符串,将其转换为由分隔符分隔的令牌列表。步骤:1. 从字符串开头搜索第一个非分隔符字符;2. 继续搜索直到遇到分隔符,并在该分隔符处终止字符串;3. 将令牌存储在令...
    99+
    2024-04-29
    c语言 字符串解析
  • golang函数的应用程序前景
    go函數是可重用的程式碼區塊,用於執行特定任務並回傳結果。它們可用於處理資料、執行商務邏輯、模組化程式碼和測試。具體應用範例包括:資料處理:轉換字串格式、驗證輸入。商務邏輯:計算折扣、管...
    99+
    2024-04-29
    应用程序 golang
  • golang函数的异步编程实践
    异步编程允许在不阻塞主线程的情况下执行任务。go 语言使用轻量级线程 goroutine 和通信管道 channel 实现异步编程。goroutine 通过 go 关键字创建,而 cha...
    99+
    2024-04-29
    golang 异步编程 并发请求
  • 内联函数在并行编程中的作用
    内联函数在并行编程中用于消除线程切换开销,从而提高性能。内联函数可通过将其调用替换为函数体代码来消除函数开销。语法:使用 inline 关键字声明内联函数。注意事项:过度内联函数会引起代...
    99+
    2024-04-29
    并行编程 内联函数 c++
  • PHP数组反转的常见错误及其解决方法
    php 数组反转时常见的三个错误:1. 未使用 array notation,解决方法:使用数组符号明确将反转数组分配给新变量;2. 尝试反转关联数组,解决方法:先用 array_fli...
    99+
    2024-04-29
    php数组 反转错误 排列
  • 内联函数的优势与劣势全面剖析
    内联函数通过将函数代码直接插入调用处来消除函数调用开销,从而提高性能和代码可读性。其优势包括减少开销和提高性能。但是,它也会导致代码膨胀和增加编译时间。内联函数最适合用于频繁调用且开销较...
    99+
    2024-04-29
    内联函数 优劣势 c++ 代码可读性
  • C++ 友元函数详解:友元函数和全局函数的区别?
    友元函数可访问类私有和受保护数据成员,而全局函数不行,友元函数在类声明中声明,全局函数在类外声明,使用 friend 关键字声明友元函数,用 extern 关键字声明全局函数。友元函数通...
    99+
    2024-04-29
    c++ 友元函数 作用域
  • golang函数类型的局限性和挑战
    go 函数类型的局限性包括不可变性、方法限制和不可类型化参数。可以使用接口、闭包和泛型等解决方案来应对这些挑战。例如,接口可以定义通用函数,闭包可以模拟有状态函数,泛型允许类型化参数化。...
    99+
    2024-04-29
    golang 函数类型
  • 反转关联PHP数组:最佳实践
    反转关联 php 数组的最佳实践包括:使用内置的 array_flip() 函数。使用 array_combine() 函数,需要传入键和值数组。对于小型数组,可以手动遍历,并为新数组中...
    99+
    2024-04-29
    php 数组
  • golang函数类型的并发处理
    go函数类型支持并发处理,可创建并行执行代码块的应用程序。可以通过定义函数类型并使用goroutine创建goroutine来实现并发:定义函数类型:使用func关键字定义函数签名,指定...
    99+
    2024-04-29
    golang 并发处理 字符串数组
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作