2016-06-09 4 views
1

So sollten Sie Folgendes beachten:Habe ich vergessen, in React einen Anfangszustand einzurichten? (React nativ)

import React, { Component } from 'react'; 

import { 
    AppRegistry, 
    StyleSheet, 
    Text, 
    View, 
    TextInput, 
    TouchableOpacity 
} from 'react-native'; 

class CreateTweet extends Component { 

    getInitialState() { 
    return { 
     text: 'Fake Value' 
    } 
    } 

    render() { 
    console.log(this.state); 
    return(
     <View style={styles.container}> 
     </View> 
    ) 
    } 
} 

const styles = StyleSheet.create({ 
    container: { 
    flex: 1, 
    marginTop: 100, 
    alignItems: 'center', 
    backgroundColor: '#F5FCFF', 
    }, 
    welcome: { 
    fontSize: 20, 
    textAlign: 'center', 
    margin: 10, 
    }, 
}); 

AppRegistry.registerComponent('CreateTweet',() => CreateTweet); 

module.exports = CreateTweet; 

Wenn der Zustand ausgeführt ist null. Sie können sehen, console.log(this.state) Ich setze den Zustand, wenn die Komponente initialisiert wird, was ist los? Gibt es eine Magie, von der ich in React nicht weiß, dass sie anders ist als Reagieren?

Antwort

4

Da Sie Klassen verwenden, sollten Sie Ihr Zustand in einem Konstruktor eingerichtet werden:

constructor (props) { 
    super(props) 
    this.state = { 
     text: 'Fake Value' 
    } 
} 
+2

Sie können auch noch 'React.createClass' verwenden, wenn Sie auf diese Weise bevorzugen – spro

+0

Das ist, was ich dachte, ich vermisse>.> Danke – TheWebs