react - isValidElement 判断参数是否是一个有效的ReactElement

作用:isValidElement是ReactElement对象中的一个方法,可以通过react.isValidElement(object)来调用,它的作用是验证判断参数object是否为有效的ReactElement,返回boolean值。

方法定义:

/**
 * 验证 object 参数是否是 ReactElement. 返回布尔值
 * 验证成功的条件:
 * object 是对象
 * object 不为 null
 * object 对象中的 $$typeof 属性值为 REACT_ELEMENT_TYPE
 */
export function isValidElement(object) {
  return (
    typeof object === 'object' &&
    object !== null &&
    object.$$typeof === REACT_ELEMENT_TYPE
  );
}
// src/react/packages/shared/ReactSymbols.js
export const REACT_ELEMENT_TYPE = hasSymbol
  ? Symbol.for('react.element')
  : 0xeac7;

判断的条件有三个,需要同时满足:

1、必须是对象

2、不能为空

3、对象中要有$$typeof 属性,且值必须为 REACT_ELEMENT_TYPE这样的一个常量值。它是一个Symbol值或者16进制的数值。

相关推荐

  1. 【PHP】判断字符串是否有效base64编码

    2024-06-05 20:02:02       56 阅读
  2. js 判定一个string是否正常正则

    2024-06-05 20:02:02       45 阅读
  3. leetcode231 判断一个给定整数是否2n次幂

    2024-06-05 20:02:02       51 阅读
  4. 3011.判断一个数组是否可以变为有序

    2024-06-05 20:02:02       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-05 20:02:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-05 20:02:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-05 20:02:02       87 阅读
  4. Python语言-面向对象

    2024-06-05 20:02:02       96 阅读

热门阅读

  1. 数据分析——Excel篇

    2024-06-05 20:02:02       34 阅读
  2. 详解 Spark 核心编程之 RDD 持久化

    2024-06-05 20:02:02       36 阅读
  3. 【HarmonyOS】应用通知广播的使用

    2024-06-05 20:02:02       35 阅读
  4. Vue基础(2)响应式基础

    2024-06-05 20:02:02       31 阅读
  5. AIGC如何改变人类生活20240529

    2024-06-05 20:02:02       30 阅读
  6. Oracle拉链表

    2024-06-05 20:02:02       29 阅读
  7. PostgreSQL 和Oracle锁机制对比

    2024-06-05 20:02:02       33 阅读
  8. Neo4J中构建的知识图谱,如何使用推理算法

    2024-06-05 20:02:02       32 阅读
  9. EasyExcel实现导入导出

    2024-06-05 20:02:02       25 阅读
  10. QT常用快捷键

    2024-06-05 20:02:02       31 阅读
  11. 华为欧拉 openEuler 23.09 一键安装 Oracle 12CR2 单机

    2024-06-05 20:02:02       28 阅读
  12. go语言进阶 包

    2024-06-05 20:02:02       28 阅读
  13. [12] 使用 CUDA 加速排序算法

    2024-06-05 20:02:02       28 阅读
  14. 将vector/array从非托管c++传递到c#

    2024-06-05 20:02:02       34 阅读