0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

useStateの配列要素を追加したい場合の記述

Posted at

はじめに

ポートフォリオでuseStateで作成した配列要素を追加したい場面があり、学んだ内容を備忘録として残そうと思います。

前提

例えば、果物の情報を格納している配列があったとします。

const [fruits, setFruits] = useState([{
    fruitsName: "apple",
    fruitsPrice: 200
  }])

現状はfruitsの中身は下記のようになっていますが、ここに複数の果物の情報を格納したいとします。

fruits = [{fruitsName: "apple", fruitsPrice: 200}]
//理想は下記のように複数の果物の情報を格納していきたい
[{fruitsName: "apple", fruitsPrice: 200}, {fruitsName: "lemon", fruitsPrice: 100}]

配列要素を追加する方法

配列要素に追加をするためには、下記のように記述をします。

setFruits(fruit => [...fruit,{ fruitsName: "lemon", fruitsPrice: 100 }])
//fruits = [{fruitsName: "apple", fruitsPrice: 200}, {fruitsName: "lemon", fruitsPrice: 100}]になる

ちなみに、"..."はスプレッド構文というもので、ものすごく乱暴にざっくりと説明すると、現在のfruitsの配列の情報を全て持ってきてくれるものです。

"...fruits,"を追加したい情報の前に記述して[]で囲むことで、fruitsの配列の最後に"{ fruitsName: "lemon", fruitsPrice: 100 }"を追加する、ということができます。

この配列を追加する方法に+αの記述をすることで、フォームに入力した値を配列に格納ができるようになります。

参考

スプレッド構文も理解まだ浅いと思うのでqiitaにまとめようと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?