2015-09-17 11 views
8

Mi piacerebbe avere una condizione che indica se prop è un nodo React, quindi posizionare è come un figlio all'interno di un componente, e se non lo è, fare qualche azione per farlo diventare un componente. In questo modo il mio componente sarà in grado di accettare questo oggetto come una serie di stringhe o una serie di nodi.Verifica se la variabile è React node o array

Ho provato a verificare se React.PropTypes.node restituirebbe un valore booleano e non lo è.

Dire che ho un modulo chiamato List e c'è un oggetto chiamato items. Mi piacerebbe essere in grado di passare

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

così come

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

E all'interno del componente hanno una certa logica che rileva la differenza e se si tratta di una matrice semplice (non un array di nodi) essere in grado di mappare gli oggetti.

risposta

18

React ha una funzione solo per verificare se una variabile è un elemento, ecco lo docs.

React.isValidElement()