【入門編】 スプレッド演算子によるPropsの展開 – React実践ガイド

こんにちは。Reactの世界へようこそ。

現場でコードを書いていると、「あれ?これもっとスマートに書けるはずだよね?」と立ち止まる瞬間が必ずやってきます。特に、親から子へたくさんのデータをバケツリレーのように渡すとき、コードがゴチャゴチャして嫌気が差したことはありませんか?

今日は、そんなあなたの心をスッと軽くしてくれる、React界の「魔法の杖」ことスプレッド演算子(`{…props}`)についてお話しします。

—

荷物をひとつずつ渡すのは、もう終わりにしましょう

想像してみてください。あなたは今、友達に引越しのお手伝いをお願いしています。段ボール箱の中には、本や食器、衣類がたくさん詰まっています。

もし、箱を開けて「これは本、次は食器、次はTシャツ……」と一つずつ手渡ししていたら、日が暮れてしまいますよね。もっと賢い方法はありませんか? そう、「箱ごとドン!」と渡せばいいのです。

ReactのPropsもこれと同じです。

従来の「丁寧すぎる」渡し方

これまでの書き方だと、こんな風に一つずつ名前を呼んであげていました。

// 親コンポーネント:丁寧に荷物を一つずつ仕分けて渡す
function App() {
const user = {
name: “ハナコ”,
age: 25,
job: “エンジニア”
};

return (
// 一つずつバラバラに渡している状態

);
}

これ、データが増えるたびに「あ、`hobby`も足さなきゃ」「`address`も必要だ」と、修正作業が面倒になりませんか?

—

`{…props}` という「魔法の箱」

そこで登場するのが、`{…props}` です。これは、「このオブジェクトの中身、全部まとめてあの子に渡しちゃって!」という指示を出す、いわば「荷物を丸ごと転送する魔法」です。

スプレッド演算子を使ったスッキリした書き方

// 親コンポーネント:魔法の箱ごと渡す
function App() {
const user = {
name: “ハナコ”,
age: 25,
job: “エンジニア”
};

// {…user} と書くだけ!
// userの中身(name, age, job)が自動的に展開されます
return ;
}

// 子コンポーネント:受け取る側はいつも通りでOK
function UserProfile({ name, age, job }) {
return (

名前: {name}

年齢: {age}

職業: {job}

);
}

どうでしょう? 親コンポーネントの記述が、驚くほどスッキリしましたよね。これなら、`user`オブジェクトの中身が増えても、親側のコードを書き換える必要はありません。これが、現場で「保守性が高い」と言われるコードの第一歩です。

—

注意点:便利だからこそ「やりすぎ」にはご用心

「じゃあ、全部これで行けばいいじゃん!」と思うかもしれませんが、ここで一つだけ、熟練者からの「愛のある忠告」をさせてください。

「中身が見えなくなる」というリスクがあることを忘れないでください。

`{…props}` で何でもかんでも渡してしまうと、コードを読んだ人が「結局、このコンポーネントには何が必要なの?」と迷子になってしまいます。

  • 良い例: 明確に「ユーザー情報」という塊があるとき。
  • 注意が必要な例: どこから来たのか分からない、正体不明のデータを全部詰め込んで渡すとき。

何でも箱に入れて運ぶと、あとで中身を探すのが大変になるのと同じです。「渡すべきデータの意味」がはっきりしている時に使うのが、一番のプロの作法ですよ。

—

最後に:つまずいても大丈夫

プログラミングを始めたばかりの頃は、「なぜこんな書き方をするのか」「動くけど、これでいいのかな?」と不安になるものです。でも安心してください。

今日紹介したスプレッド演算子は、React界の共通言語のようなものです。使っていくうちに、まるで自分の手足のように馴染んでくるはずです。

もしコードを書いていて「ここ、もっと綺麗にできそうだな」と思ったら、ぜひこの「魔法の箱」を思い出してみてください。あなたの書くReactコードが、昨日よりも少しだけ軽やかになるはずです。

さて、次はどんな「魔法」を試してみますか? またいつでも相談してくださいね。応援しています!

コメント

タイトルとURLをコピーしました