2016-06-02 8 views
0

Der gesamte Fehler in React.addons gewickelt werden:Reagieren/JSX Fehler: Jede Verwendung eines Schlüssel Objekt sollte

"Warning: Each child in an array or iterator should have a unique \"key\" prop. Check the render method of RenderArray"

Der Code:

/* jshint esnext: true */ 

class RenderArray extends React.Component { 

    constructor() { 
    super(); 
    this.state = {myArray : ""}; 
    } 

    componentDidMount() { 
    console.log(this.state.myArray); 
    } 

    componentWillMount() { 
    this.setState({ 
     myArray: ['one', 'two', 'three', 'four', 'five'] 
    }); 
    } 


    render() { 

    showEl = this.state.myArray.map(function(i) { 
     return <li>{i}</li>; 
    }) 


    return (
     <div className="jumbotron container"> 
      <ul> 
      {showEl} 
      </ul> 
     </div> 
    ); 
    } 
}; 

Verbesserungsvorschläge?

Antwort

3

Für jedes Element wiederholt, reagieren, um einen eindeutigen Schlüssel will. Also in Ihrem Fall, so etwas wie:

showEl = this.state.myArray.map(function(i) { 
    return <li key={i}>{i}</li>; 
}) 
2

Es ist kein Fehler, dann ist es eine Warnung, und es sagt dir genau das, was zu tun ist. Fügen Sie eine key Stütze auf dem Kind Ihres Arrays hinzu.

showEl = this.state.myArray.map(function(i) { 
    return <li key={i}>{i}</li>; 
}) 

Lesen Sie über reconciliation, wenn Sie die Chance bekommen.

Verwandte Themen