2017-05-22 33 views
0

私はモーダル画面上に2つのテキスト入力があります。最初の入力を満たしています - 状態が更新されていて、2番目の入力にジャンプして最初の入力の値が空です。ここでReact Native - オブジェクト内部状態のsetState

はコードです:

constructor(){ 
    super() 
    this.state={ 
    Modal: { 
     EduModalVisible: false, 
     ProTitleModalVisible: false, 
     PsychoModalityModalVisible: false, 
    }, 

    User: { 
     NameOfFaculty: '', 
     YearOfGraduate: '', 
    } 
} 

} 

とテキスト入力は次のようになります。

<TextField label={'Faculty'} highlightColor={'#76a6ef'} 
     value={this.state.User.NameOfFaculty} onChangeText={(faculty) => this.setState({User: { NameOfFaculty: faculty }})} /> 
<TextField label={'Year Of Graduation'} highlightColor={'#76a6ef'} 
     value={this.state.User.YearOfGraduate} onChangeText={(year) => this.setState({User: { YearOfGraduate: year }})} /> 

私はその問題は国家内のオブジェクトの状態を更新していると思うが、私はどのようにわからないんだけどこれを解決する。

答えて

3

ここでは例です:https://snack.expo.io/rkeQ7cxWb

あなたはそれに内容を保存するために、既存のオブジェクトのプロパティを割り当てる必要があります:

onChangeText={(faculty) => { 
    const User = Object.assign({}, this.state.User, { NameOfFaculty: faculty }); 
    this.setState({ User }); 
}} 
関連する問題