我有一个按钮“跟随”,我想在用户点击时以及完成后续操作时更改文本。这是我的代码:
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中很新,我很想理解我的错误。 感谢
答案 0 :(得分:2)
您需要致电:
//correct
this.setState({ textValue: "Followed" }}
而不是:
//wrong
this.state({ textValue: "Followed" })