#はじめに
私の質問を見ていただいてありがとうございます。
React初心者です。
練習としてTodoアプリを作ってみました。
そこで疑問に思ったことがあります。
質問に答えていただけたら幸いです。
#[Q.1]formを作成すれば、stateをもつコンポーネントが増える?
・親コンポーネントでstate管理。(一極集中でデータを管理)
・子コンポーネントではpropsでデータを受けて表示させる。(あくまでデータの受け皿として、受けたデータを反映させるのみ)
私は書籍や記事から上記のように書くことが望ましいと理解しました。
しかし、子コンポーネントのformを作成すると親コンポーネントのstateを変更するためにstateを持つ子コンポーネントのformを増やさなければなりません。
####form作成のたびにstateを作成してバラけるのは、仕方がないことでしょうか?また、解決方法は、ありますか?
#[Q.2]配列へのデータの追加方法として最適な方法は?
現在は、下記のように配列に追加をしてます。
js
1// 初期値は、 objects: [] 2const newObject = this.state.objects.slice(); 3 4newObjet.push({ 5 objectContent: newObjectContent 6}); 7 8this.state({ newObject });
####他に配列へのデータ追加方法にいい方法があれば教えて頂きたいです。
#[Q.3]stateの初期値はカラの配列にして、formのnameでデータの種類を分けるのが良い?
stateの初期値は空っぽの配列にして、formのnameで指定したデータをevent.target.***.value
で取得し、定数の中に入れて、それを.push()
で追加、setState
していました。
####初期値の配列を入れ子にする方がいいですか??
下記のような書き方です。
以前これでコードを書こうとしましたが、これだと配列の中身の取り出し方が難しく現在の手法にしました。
js
1this.state = { 2 objects: [ 3 {id: "", content: ""} 4 ] 5}
#最後に
最後まで読んでくださってありがとうございます。
質問の仕方もわかりにくかったり、間違っているかもしれませんが、ご回答宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/07 00:02
2019/01/07 00:59