检查变量是否是React节点或数组

时间:2015-09-17 16:53:08

标签: javascript properties reactjs

我想要一个条件,说明prop是否是一个React节点然后只是放置在组件中的子节点,如果不是,则采取一些操作使其成为一个组件。这样我的组件就能够接受这个prop作为字符串数组或节点数组。

我试图检查React.PropTypes.node是否会返回一个布尔值,而不是。

假设我有一个名为List的模块,并且有一个名为items的道具。我希望能够通过

var items = [
  "One",
  "Two",
  "Three"
]

以及

var items = function () {
  return (
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
  )
}

在组件中有一些可以检测差异的逻辑,如果是普通数组(不是节点数组),则能够映射项目。

1 个答案:

答案 0 :(得分:44)

React有一个函数来检查一个变量是否是一个元素,这里是docs

React.isValidElement()