如何解决我有多个柜台;页面刷新时,所有计数都会更新我想将它们另存为其他计数器
我正在渲染多个计数器。它们的值会保存,但最后单击的计数器会将其值转到所有其他计数器。我想分别保存每个值。
我不确定如何执行此操作。此外,即使删除了其父项,该计数也不会删除。
const {width,height} = Dimensions.get('window')
class CounterButton extends Component {
constructor(props){
super(props);
this.state = {
clicks: 0,};
}
// const [ounter,setCounter]=useState(0);
componentDidMount = async() => {
let count = '';
try {
count = await AsyncStorage.getItem('clicks') || '0';
count = parseInt(count,0);
this.setState({clicks:count})
} catch (error) {
// Error retrieving data
console.log(error.message);
}
};
handleadd= async ()=> {
const count = this.state.clicks + 1;
try{
await AsyncStorage.setItem('clicks',count.toString());
this.setState({ clicks: count});
}
catch(error){
console.log(error.message);
}
};
handleminus= async ()=> {
const count = this.state.clicks - 1;
try{
await AsyncStorage.setItem('clicks',count.toString());
this.setState({ clicks: count});
}
catch(error){
console.log(error.message);
}
};
render(){
return (
<View style={styles.container}>
{/* <Counter
value={state2}
onValueChange={setState2}
minValue={0}
activeBackgroundColor="#E6EFFF"
buttonStyle={{
backgroundColor: '#008080',paddingVertical: 7,}}
buttonnTextStyle={{
color: 'white',fontSize: 20,paddingHorizontal: 5,}}
labelStyle={{
backgroundColor: '#ffffff',}}
labelTextStyle={{
color: '#008080',}}
/> */}
<Text>You clicked {this.state.clicks} times</Text>
<TouchableHighlight onPress={() => {this.handleadd()}}>
<Text>+</Text>
</TouchableHighlight>
<TouchableHighlight onPress={() => {this.handleminus()}}>
<Text>-</Text>
</TouchableHighlight>
</View>
);
};
}
const styles = StyleSheet.create({
container: {
alignItems: 'center',right:'30%'
},});
export default CounterButton;
计数器在平面列表中呈现。当我不使用异步时,它们的值是分开的,但是现在我保存了,它们的值就变得一样了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。