2015-04-06 10 views
8

Ho scritto questo codice in molti altri componenti ma non riesco a capire perché non funzioni.Perché non funziona this.props.children.map?

{ 
    this.props.children.map(function(child) { 
     return <li>{child}</li> 
    }) 
} 

Qualsiasi aiuto sarebbe molto apprezzato!

+0

Definire "non funziona". –

+0

Non si assegna il risultato di questa chiamata dovunque. Quindi "funziona" ma non si controlla se lo fa. – zerkms

+0

Restituisce 'Uncaught TypeError: undefined non è una funzione'. – epicsharp

risposta

11

this.props.children è una struttura dati opaca. Può essere un array o un singolo elemento. Nel tuo caso, this.props.children è probabilmente un singolo elemento, motivo per cui il metodo .map() non è definito.

È necessario utilizzare React.Children API durante la manipolazione del puntello children.

Vedere anche Type of the Children props.