前提・実現したいこと
React Nativeを利用してアプリの開発をしています。
他の質問をした時に、回答してもらった参考のコードの中で
...Array()
が利用されていました。
Javascriptの...
使い方を調べると、下記のサイトのようにスプレッド構文として紹介されています。
【JavaScript】スプレッド構文の便利な使い方まとめ
【JavaScript】”…”ドットが3つ…?これ、どうやって使うの?スプレッド構文の挙動と活用方法
該当のソースコードで紹介している...Array()
の使い方は、他のスプレッド構文の使い方と同じなのでしょうか?
疑問に思う点は、
①Array
は変数等で宣言されていなく、値をもっていないのに、なぜ分割(スプレッド)できるのか?
②Array()
は配列の変数宣言、初期化に使われるが、なぜNew
演算子がなくても利用できるのか?
該当のソースコード
①の箇所でArray()
が利用されています。
JS
1import React, { useState } from "react"; 2import { View, Button } from "react-native"; 3 4function Item({ handleMakeNew }) { 5 return ( 6 <Button 7 title="追加" 8 onPress={() => { 9 handleMakeNew(); 10 }} 11 /> 12 ); 13} 14 15export default function TestListItem() { 16 const [count, setCount] = useState(1); 17 18 function handleMakeNew() { 19 setCount((v) => v + 1); 20 } 21 22 return ( 23 <View> 24 {[...Array(count).keys()].map((i) => ( //①ここで...Array()が利用されている 25 <Item handleMakeNew={handleMakeNew} key={i} i={i} /> 26 ))} 27 </View> 28 ); 29}
補足情報(FW/ツールのバージョンなど)
node : 12.18.3
react native : 4.10.1
expo : 3.22.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/09 07:25
2020/08/09 07:29
2020/08/09 07:33