Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查变量是否为React节点或数组_Javascript_Properties_Reactjs - Fatal编程技术网

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

Javascript 检查变量是否为React节点或数组,javascript,properties,reactjs,Javascript,Properties,Reactjs,我希望有一个条件,说明道具是否是React节点,然后将其作为子节点放置在组件中,如果不是,则采取一些措施使其成为组件。 这样,我的组件将能够接受这个属性作为字符串数组或节点数组 我试图检查React.PropTypes.node是否会返回布尔值,但它不起作用 假设我有一个名为List的模块,还有一个名为items的道具。我想通过考试 var items = [ "One", "Two", "Three" ] 以及 var

我希望有一个条件,说明道具是否是React节点,然后将其作为子节点放置在组件中,如果不是,则采取一些措施使其成为组件。 这样,我的组件将能够接受这个属性作为字符串数组或节点数组

我试图检查
React.PropTypes.node
是否会返回布尔值,但它不起作用

假设我有一个名为
List
的模块,还有一个名为
items
的道具。我想通过考试

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

var items = function () {
  return (
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
  )
}
var items=函数(){
返回(
  • 一个
  • 两个
  • ) }

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

    React有一个函数,用于检查变量是否是元素,下面是示例


    请注意,
    null
    作为React no op有效,
    isValidElement
    返回
    false
    。因此,您需要单独检查。
    React.isValidElement()