AsyncStorage
正在将数据存储在
{"chosenDate":"2018-12-10","text":"llibl"}
格式。
{'2012-05-22': [{text: 'item 1 - any js object'}]
'2012-05-25': [{text: 'item 3 - any js object'},{text: 'any js object'}]
格式
或
componetDidMount()
到
getState()
?
下面是我的组件的代码:
异步存储
class Reminder extends Component {
constructor(props) {
super(props);
let formatDate = new Date();
this.state = {
chosenDate: formatDate.toISOString().split('T')[0],
text: '',
};
this.handleChangeInput = this.handleChangeInput.bind(this);
this.saveData = this.saveData.bind(this);
}
handleChangeInput = (input) => {
this.setState({text:input});
}
//save the input
saveData() {
AsyncStorage.setItem("key", JSON.stringify(this.state));
}
render() {
return (
<View>
<Form style={styles.formContainer}>
<View style={styles.formView}>
< TextInput
placeholder = "Set your reminder"
onChangeText={this.handleChangeInput}
value={this.state.text}
/>
<DatePicker
defaultDate={new Date()}
minimumDate={new Date(2018, 1, 1)}
maximumDate={new Date(2019, 12, 31)}
locale={"en"}
timeZoneOffsetInMinutes={undefined}
modalTransparent={false}
animationType={"fade"}
androidMode={"default"}
placeHolderText="Select date"
textStyle={{ color: "green" }}
placeHolderTextStyle={{ color: "#d3d3d3" }}
/>
<Text style={styles.datePicker}>
{this.state.chosenDate}
</Text>
</View>
<View style={styles.footer}>
<Button block success style={styles.saveBtn}
onPress={ () =>
{
this.saveData()
console.log('save data',this.state);
Alert.alert('Yay!!', 'Succefully saved.')
}
}
>
<Icon type='MaterialIcons' name='done' />
</Button>
</View>
</Form>
</View>
);
}
}
export default Reminder;