在反应中,'PropTypes.node`和`PropTypes.any`有什么区别?

时间:2018-05-07 03:44:18

标签: javascript reactjs

// Anything that can be rendered: numbers, strings, elements or an array
// (or fragment) containing these types.
optionalNode: PropTypes.node,

// A value of any data type
requiredAny: PropTypes.any.isRequired,

PropTypes.any相比,PropTypes.node包含哪些类型?

2 个答案:

答案 0 :(得分:14)

PropTypes 是一种验证通过道具传递的值的方法。

<强>节点 我们可以使用React.PropTypes.node传递任何可以呈现的内容,例如数字,字符串,DOM元素,数组或包含它们的片段。

任何类型 React允许我们指定必须存在prop,而不管它的类型。我们可以使用React.PropTypes.any验证器来完成此任务。

答案 1 :(得分:4)

PropTypes.node:可以在屏幕上实际呈现的任何可呈现值,例如数字和字符串。

PropTypes.any:任何类型的值,即使是布尔值等不可渲染的值。

如果使用<div>{true}</div> JSX代码,

booleanValue: PropTypes.node将给出错误消息,而 booleanValue: PropTypes.any不会给出任何此类错误。