アレイを保存しようとしましたが、ドキュメントに従おうとしましたが、悲惨に失敗しました。さまざまな警告やエラーを私に与えないように、どうすればいいですか?AsyncStorage Reactネイティブでアレイを保存する
エラー:私はアイテム
- は、[オブジェクトオブジェクト]を得た
- 専用のプロパティを読み取るために割り当てようとしました代わりに、配列
- のオブジェクトを手に入れました期待される文字列、配列を持っています
コードはです
import React from 'react';
import { StyleSheet, Text, View, TextInput, ScrollView, TouchableOpacity, KeyboardAvoidingView, AsyncStorage } from 'react-native';
import Note from './app/components/note';
export default class App extends React.Component {
state = {
noteArray: [],
noteText: '',
}
render() {
let notes = this.state.noteArray.map((val, key) => {
return <Note key={key} keyval={key} val={val} deleteMethod={()=>this.deleteNote(key) } />
});
return (
<KeyboardAvoidingView behavior="padding" style={styles.container}>
<View style={styles.header}>
<Text style={styles.headerText}>Tasker</Text>
</View>
<ScrollView style={styles.scrollContainer}>
{notes}
</ScrollView>
<View style={styles.footer}>
<TouchableOpacity onPress={this.addNote.bind(this)} style={styles.addButton}>
<Text style={styles.addButtonText}>+</Text>
</TouchableOpacity>
<TextInput style={styles.textInput} placeholder='Enter Task...' placeholderTextColor='white'
underlinedColorAndroid='transparent' onChangeText={(noteText) => this.setState({noteText})}
value={this.state.noteText}></TextInput>
</View>
</KeyboardAvoidingView>
);
}
addNote() {
if (this.state.noteText) {
var d = new Date();
this.state.noteArray.push({'date' : d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate(), 'note' : this.state.noteText});
this.setState({noteArray: this.state.noteArray});
this.setState({ noteText: '' });
}
//AsyncStorage.setItem() How do I write it so no errors occur
alert({noteArray: this.state.noteArray})
}
エクストラ注:エラーが私の携帯電話に万博のApp上でAndroidとiOSの両方
事前に感謝します!
'addNote()'が間違っています。 'this state'は不変であると考えるべきです。そのコピーを作成してコピーを修正してから、そのコピーを使って 'setState'を一度だけ変更してください。 –
どうすればいいですか?私はいくつかのガイドやコードを教えてください。私はまだ –
グーグルではまだノブですか?ここには[1](https://github.com/facebook/immutable-js/wiki/Immutable-as-React-state) –