2015-09-17 4 views
8

Я хотел бы иметь условие, указывающее, что prop является узлом React, а затем просто помещается как дочерний элемент в компонент, а если нет, предпримите некоторые действия, чтобы сделать это компонент. Таким образом, мой компонент сможет принять эту опору в виде массива строк или массива узлов.Проверьте, является ли переменная объектом или массивом React

Я попытался проверить, возвращает ли React.PropTypes.node логическое значение, и это не так.

Скажем, у меня есть модуль под названием List, и есть подставка под названием items. Я хотел бы быть в состоянии пройти

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

, а также

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

И внутри компоненту есть какая-то логика, что бы обнаружить разницу, и если это простой массив (не массив узлов) иметь возможность отображать элементы.

ответ

18

У React есть функция, чтобы проверить, является ли переменная элементом, вот docs.

React.isValidElement()