2017-11-23 5 views
-1

Ich habe vor kurzem begonnen, React Native zu lernen und ich stolpere zu verstehen, was "diese" Keywords tut. Ich weiß, wie es in Java funktioniert, aber hier scheint es anders zu sein. Wenn jemand etwas für mich klären könnte, wäre ich sehr dankbar. Beispielcode:React Native dieses Schlüsselwort

+2

https://stackoverflow.com/questions/4195970/what-does-this-mean In MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Referenz/Operatoren/dieses –

+4

Mögliches Duplikat von [Was bedeutet "das"? (Https://stackoverflow.com/questions/4195970/what-does-this-mean) – Maluen

+3

Es funktioniert genau gleich ... 'this' ist ein Verweis auf Ihren aktuellen Klassenkontext –

Antwort

0

this Schlüsselwort in Java-Karten in der Regel an ihre Mutter Klasse.

in Javascript, es entspricht seinem Elternteil Funktion.

Es ist schön erklärt in MDN Docs

0

Sie müssen Ihre updateState-Funktion an den Kontext in der Renderfunktion binden. Sie könnten auch Ihren updateState-Funktionsreiniger definieren.

Beachten Sie die .bind(this);

import React, { Component } from 'react' 
import { Text, View } from 'react-native' 

class Home extends Component { 
    state = { 
     myState: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed 
     do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
     Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi 
     ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit 
     in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
     Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia 
     deserunt mollit anim id est laborum.' 
    } 

    updateState() { 
     this.setState({ myState: 'The state is updated' }) 
    } 

    render() { 
     return (
     <View> 
      <Text onPress = {this.updateState.bind(this)}> 
       {this.state.myState} 
      </Text> 
     </View> 
    ); 
    } 
} 
export default Home; 

Mehr Infos here