2016-11-16 5 views
2

umschreiben Ich versuche, den Einstiegspunkt App.js Javascript-Datei als eine Klasse neu zu schreiben. Ich mache das, weil ich eine onClick-Funktion aufrufen möchte, wenn ein Benutzer auf den Abmeldelink klickt.Versucht, App.js als eine Klasse

Hier ist der aktuelle Code:

import React, { PropTypes } from 'react'; 
import { IndexLink, Link } from 'react-router'; 

const App = (props) => { 
    return (
     <div> 
      <IndexLink className="mypad" to="home">Home</IndexLink> 
      <Link className="mypad" to="">Log Out</Link> 
      <br/> 
      <br/> 
      {props.children} 
     </div> 
    ); 
}; 

App.propTypes = { 
    children: PropTypes.element 
}; 

export default App; 

Hier war mein Versuch, neu zu schreiben dies als eine Klasse. Es funktioniert nicht. Ich erhalte die Fehlermeldung: ‚Reference: Requisiten ist nicht definiert‘

class App extends React.Component { 
    constructor(props) { 
     super(props); 
    } 

    render(){ 
     return (
      <div> 
       <IndexLink className="mypad" to="home">Home</IndexLink> 
       <Link className="mypad" to="">Log Out</Link> 
       <br/> 
       <br/> 
       {props.children} 
      </div> 
     ); 
    } 
} 

App.propTypes = { 
    children: PropTypes.element 
}; 

export default App; 

Antwort

3

Sie benötigen

<div> 
    <IndexLink className="mypad" to="home">Home</IndexLink> 
    <Link className="mypad" to="">Log Out</Link> 
    <br/> 
    <br/> 
    {this.props.children} 
    </div> 

eine Klasse this.props einmal seine tun, wenn Sie die Komponente als eine Funktion schreiben, wird Requisiten in als bestanden ein Argument. Wenn Sie dies als Klasse tun, sind Requisiten an die Instanz des Komponentenobjekts gebunden.

+0

Vielen Dank. – nikotromus

0

hinzufügen das =>this.props.children

Verwandte Themen