检查变量是React节点还是数组

问题描述 投票:0回答:1

我想要一个条件来说明某个 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>
  )
}

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

javascript properties reactjs
1个回答
170
投票

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

React.isValidElement(obj)
© www.soinside.com 2019 - 2024. All rights reserved.