Я пытаюсь сделать так, если этот флажок установлен, он должен сохранить его с помощью asyncstorage, но независимо от того, что я пытаюсь сделать, я не могу заставить его работать, и Google не дает мне ничего. Я также новичок в asyncstorage aswell.
import React, { Component } from 'react';
import { CheckBox } from 'react-native-elements'
import AsyncStorage from '@react-native-community/async-storage';
import Fontisto from 'react-native-vector-icons/Fontisto';
export default class Check extends Component {
constructor(props) {
super(props);
this.state = {
checked: 'false',
};
}
storeData = async () => {
try {
await AsyncStorage.setItem('@storage_Key')
} catch (e) {
}
}
getData = async () => {
try {
const value = await AsyncStorage.getItem('@storage_Key')
if(value !== null) {
}
} catch(e) {
}
}
render() {
return (
<CheckBox
checkedIcon={<Fontisto name='checkbox-active' size={15} color='#000' />}
uncheckedIcon={<Fontisto name='checkbox-passive' size={15} color='#000' />}
checked={this.state.checked}
onPress={() => this.setState({ checked: !this.state.checked })}
/>
);
}
}
ОБНОВЛЕННЫЙ КОД НИЖЕ
import React, { Component } from 'react';
import { CheckBox } from 'react-native-elements'
import AsyncStorage from '@react-native-community/async-storage';
import Fontisto from 'react-native-vector-icons/Fontisto';
export default class Check extends Component {
constructor(props) {
super(props);
this.state = {
checked: false,
};
}
storeData = async () => {
try {
await AsyncStorage.setItem('@storage_Key', JSON.stringnify({checked: false}))
} catch (e) {
console.log('error storing data')
console.log(e)
}
}
componentDidMount(getData) {
getData = async () => {
try {
const value = await AsyncStorage.getItem('@storage_Key')
if(value !== null) {
this.setState({checked: JSON.parse(value).checked})
}
} catch(e) {
console.log('error restoring data')
console.log(e)
}
}
}
render() {
return (
<CheckBox
checkedIcon={<Fontisto name='checkbox-active' size={15} color='#000' />}
uncheckedIcon={<Fontisto name='checkbox-passive' size={15} color='#000' />}
checked={this.state.checked}
onPress={() => this.componentDidMount()}
/>
);
}
}
ЭТОТ ТЕКСТ ТОЛЬКО ЗДЕСЬ СЮДА STACKOVERFLOW, ЖАЛОБЫ НА БОЛЬШЕ КОДА, ЧЕМ ТЕКСТ.