2017-07-21 15 views
0

Ich bin sehr neu zu reagieren und ich habe Probleme, wenn es darum geht, Daten von einer Methode zu einer anderen Methode zu übergeben. Hier ist meine reagieren Syntax:TypeError: Eigenschaft 'info' von undefined kann nicht gelesen werden

var url = "https://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1" 
class App extends React.Component{ 
    info(val){ 
    console.log(val) 
    } 

request(){ 
    axios.get(url) 
    .then(function (response) { 
     this.info(response) 
    console.log(response.data); 
    }) 
    } 

render() { 
    return(

    <div> 
     <h1>axios</h1> 
     {this.request()} 
     </div> 

    ) 
    } 
} 

ReactDOM.render(<App />, document.getElementById("target")) 

Mein Ziel ist es, die Antwortdaten von request Methode info Methode zu übergeben. Allerdings bekomme ich Fehler, dass "TypeError: Cannot read property 'info' of undefined" Kannst du mir helfen zu identifizieren, was ich vermisse?

+0

Binding Problem, Überprüfen Sie die doppelte Frage –

Antwort

3

Sehr häufiges Problem und so viele Antworten für die gleiche, so zusätzliche Antwort als Community-Wiki.

Es ist ein bindendes Problem, Sie müssen this mit Rückruf binden.

Verwendung arrow function:

.then((response) => { 

Weitere Informationen Überprüfen Sie diese Antwort: Why is JavaScript bind() necessary?

Verwandte Themen