我试图增加按钮单击的计数值。它工作,但值不保留,一旦页面重新加载更改为0

问题描述 投票:0回答:2
this.state = { count: 0 };

_incrementCount = () => {
    this.setState(prevState => ({ count: prevState.count + 1 }));    
}
react-native
2个回答
0
投票

这是正确的行为。如果要在页面重新加载后保留更改,请使用AsyncStorage进行保存。

componentDidMount() {
    let response = await AsyncStorage.getItem('count'); 
    if(response)
        this.state = { count : response};
}

componentWillUnmount() {
    AsyncStorage.setItem('count', this.state.count + '');    
}

0
投票

组件的状态取决于组件的生命周期。当您的组件unMount和reMount状态将重置为您的默认值。

因此,只需将您的计数值存储在元素之外。 (AsyncStorage,Redux,Mobx,或者只是简单的自定义逻辑)

© www.soinside.com 2019 - 2024. All rights reserved.