2016-12-10 1 views
-2

Ich studiere über die folgende Komponente Beispiel ReactJS und kam:ReactJS: Was bedeuten der erste Parameter in addEventListener, ReactDOM.render() und() in der Rückgabeanweisung?

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

     // set the default internal state 
     this.state = { 
      clicks: 0 
     }; 

     this.clickHandler = this.clickHandler.bind(this); 
    } 

    componentDidMount() { 
     this.refs.myComponentDiv.addEventListener(
      ‘click’, 
      this.clickHandler 
     ); 
    } 

    componentWillUnmount() { 
     this.refs.myComponentDiv.removeEventListener(
      ‘click’, 
      this.clickHandler 
     ); 
    } 

    clickHandler() { 
     this.setState({ 
      clicks: this.clicks + 1 
     }); 
    } 

    render() { 
     let children = this.props.children; 

     return (
      <div className=”my-component” ref=”myComponentDiv”> 
       <h2>My Component ({this.state.clicks} clicks})</h2> 
       <h3>{this.props.headerText}</h3> 
       {children} 
      </div> 
     ); 
    } 
} 

Was der erste Parameter, 'click', bedeuten in this.refs.myComponentDiv.removeEventListener() und this.refs.myComponentDiv.removeEventListener()? Und warum müssen Sie props zu super() übergeben? Und was bedeutet () in ({this.state.clicks} clicks})?

Schließlich stieß ich auf eine stateless Komponente:

const StatelessCmp = (props) => { 
    return (
     <div className=”my-stateless-component”> 
      {props.name}: {props.birthday} 
     </div> 
    ); 
}; 

// --- 
ReactDOM.render(
    <StatelessCmp name=”Art” birthday=”10/01/1980” />, 
    document.getElementById(“main”) 
); 

Und wann wählen Sie eine stateless Komponente benutzen? Und wann verwenden Sie und was macht ReactDOM.render(), vor allem der document.getElementById(“main”) Teil? Denn normalerweise würden Sie einfach export default ... tun.

Und im Folgenden werden einfach die beiden <p>'s oben auf der <MyComponent/> Klasse angezeigt werden?

<MyComponent headerText=”A list of paragraph tags”> 
    <p>First child.</p> 
    <p>Any other <span>number</span> of children...</p> 
</MyComponent> 

Vielen Dank und wird sicher sein, zu upvote und Antwort zu akzeptieren!

Antwort

0
  1. ‚Klick‘ ist der Name des Klick-Ereignis, das erstellt wird, wenn Sie im Ansichtsfenster/Element klicken

  2. Wie Sie die Klasse erweitern React.Component Sie die Eigenschaften Ihres passieren müssen Klasse für die Superklasse (React.Component), die korrekt instanziiert wird. Für weitere Informationen lesen Sie ein Buch über Objektorientierte Programmierung

  3. Ich kann die Anweisung ({this.state.clicks} clicks}) in Ihrem Code nicht finden.

  4. Wenn Sie nicht this.state eine stateless Komponente

  5. ReactDOM.render verwenden() verwenden, tatsächlich schafft und macht Ihre Komponenten auf Ihre Seite. Die document.findElementById ('main') sucht nach dem html-Element mit id = "main", das von ReactDOM in dieses Element gerendert werden kann.

Ich würde empfehlen, dass Sie ein grundlegendes Buch lesen oder ein Online-Tutorial in Javascript nehmen, bevor Sie einen js Rahmen lernen wie

Reagieren
Verwandte Themen