React-native:更改按钮的文本

时间:2017-11-20 18:17:21

标签: react-native

我有一个按钮“跟随”,我想在用户点击时以及完成后续操作时更改文本。这是我的代码:

 this.state = {
  user: [],
  textValue:'Followwww',
  result: [],
  dataSource: new ListView.DataSource({
    rowHasChanged: (row1, row2) => row1 !== row2,
  })
};

 follow = (item) => {
// logout, once that is complete, return the user to the login screen.
fire.database().ref('follow').push({
  storeName: item.storeName,
  id_user: this.state.user.uid,
  id_store: item._key,
  follow: '1'
}).then(function(ref) {
    this.setState({ textValue: "Followed" })
    //alert('Vous êtes désormais abonné à : ' + item.storeName + '         !');
}).catch(function(error) {
    alert(error);
});
}

 <RkButton 
   rkType='rounded'
   onPress={() => this.follow(item)}
   style={styles.primary_button_list}
   contentStyle={styles.primary_button_text_list}>
   {this.state.textValue}
 </RkButton>

我收到了这个错误:

  

TypeError:this.state不是函数。 (在'this.state({textValue:“Followed”})','this.setState'未定义)

我在React中很新,我很想理解我的错误。 感谢

1 个答案:

答案 0 :(得分:2)

您需要致电:

//correct
this.setState({ textValue: "Followed" }}

而不是:

//wrong
this.state({ textValue: "Followed" })