作用: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进制的数值。