2017-03-13 1 views
0

誰かがReact Nativeのオブジェクトの配列にユーザーのテキスト入力データを格納する方法を知っていますか?ユーザーのテキスト入力データを、反応したネイティブのオブジェクトの配列に格納する方法は?

[ 
    { 
    note: ‘some note’, 
    created_at: 123456789 
    }, 
    { 
    note: ‘another observation note’, 
    created_at: 123456789 
    } 
] 

現在、基本的なAsyncstorageを使用しています。私は、ユーザーがメモを入力するためのテキスト入力フィールドを持っています。現在、配列内の文字列として保存します。私はこれを行う方法を知りたいが、オブジェクトの配列を持っている。また、created_atタイムスタンプをどのように追加しますか?

答えて

1

は、より基本的なJavaScriptの質問のように聞こえる:-)ありがとうございます。 Reactのコンテキストでは、コンポーネント状態(またはReduxのようなものを使用している場合はアプリケーション状態)にメモのリストを保存するだけです。

テキスト入力にonChangeイベントハンドラ関数を定義してsetStateを呼び出す:上記を

onSomeInputChange = (text) => { 
    const note = { 
    note: text, 
    created_at: Date.now() 
    }; 
    this.setState({ notes: [ ...this.state.notes, note ] }); 
} 

を使用すると、ノートオブジェクトの配列を保持している状態変数ノートを前提としています。 スプレッド演算子を使用すると、以前のすべてのメモを新しい配列にコピーしてから、新しいメモを追加できます。状態は不変であり、直接変更することができないため、これを行う必要があります。

次に、あなたのテキスト入力コンポーネントののonChangeにその関数を渡す:

<TextInput ... onChange={this.onSomeInputchange} /> 

他の小道具は省略されています。

関連する問題