【入門編】 デフォルトPropsの設定方法 – React実践ガイド

こんにちは!Reactの世界へようこそ。
フロントエンドの最前線でコードを書き続けていると、たまに「あ、ここはもっと優しく伝えられたはずだな」と初心に帰ることがあります。

今回は、Reactを学び始めたばかりの人が必ずと言っていいほど直面する「Props(プロップス)のデフォルト値」というトピックについてお話ししますね。これ、名前だけ聞くと難しそうですが、実は「おまかせ定食」みたいなものなんです。

—

「指定がないなら、これにしておくね」という優しさ

Reactにおける「Props」は、親コンポーネントから子コンポーネントへ渡される「贈り物」のようなものです。でも、時には親が何も渡してくれないこともありますよね。

そんな時、子コンポーネントが「えっ、何もないの? 困ったな……」とフリーズしてしまったら大変です。そこで登場するのが「デフォルトProps(初期値)」です。

これは、「もし何も渡されなかったら、とりあえずこれを使っておいてね」という子コンポーネント側の事前の準備のこと。これがあると、どんな状況でもアプリケーションが崩れず、安心して動いてくれるようになります。

—

書き方は「関数の引数」にお任せしよう

昔のReactでは `defaultProps` という少し特殊な書き方をしていましたが、今のモダンなReact開発では、JavaScriptの標準的な「関数のデフォルト引数」の書き方を使うのが一番スマートで一般的です。

まずは、一番身近な例として「ユーザーの挨拶を表示するコンポーネント」を作ってみましょう。

// Greetingコンポーネント
// 引数のところで「= “ゲストさん”」と書くのがポイント!
function Greeting({ name = “ゲストさん” }) {
return (

こんにちは、{name} さん!

);
}

// 使う側(親コンポーネント)
export default function App() {
return (

{/ nameを渡した場合 /}

{/ nameを渡さなかった場合 → 自動的に「ゲストさん」が表示されます! /}

);
}

ここがポイント!

`{ name = “ゲストさん” }` という書き方。これは、「もし `name` という贈り物が届かなかったら、自動的に `ゲストさん` という名前を代入しておくね」という宣言です。
コードがスッキリしていて、ひと目で「デフォルト値があるんだな」と分かりますよね。

—

複数あるときはどうするの?

Propsが増えてくると、少し迷うかもしれませんね。でも大丈夫、同じ要領でどんどん並べていけばOKです。お買い物カゴをイメージしてみてください。

function ProductCard({
title = “商品名未定”,
price = 0,
currency = “円”
}) {
return (

{title}

価格: {price}{currency}

);
}

このように、必要な分だけ「もしなかったらこれね」を並べておけば、どんなデータが来ても(あるいは来なくても)コンポーネントはパニックを起こさず、健気に表示を続けてくれます。

—

注意点:こんな時は「空っぽ」かも?

少しだけ注意してほしいのが、「意図的に `undefined`(未定義)を渡したとき」です。

Reactでは、`name={undefined}` と明示的に渡すと、「値がない」とみなされてデフォルト値が適用されます。でも、もし `null` を渡してしまうと、「`null` という値がある」と判断されてしまい、デフォルト値が使われないことがあります。

初心者のうちは「基本的には何も書かない(Propsを渡さない)」ことで、デフォルト値の恩恵を最大限に受ける、と覚えておけば間違いありません!

—

最後に:完璧主義にならなくていい

Reactを始めたばかりの頃は、「すべてのPropsにデフォルト値を設定しなきゃ!」と気負ってしまうかもしれません。でも、無理は禁物です。

「ここが表示されないと困るな」とか「ここは空だと寂しいな」という場所から、少しずつデフォルト値を設定してみてください。あなたの書くコンポーネントが、少しずつ「どんな状況でもへこたれない、タフな部品」に育っていくはずです。

もしコードが動かなくなっても大丈夫。それは成長の証です。ゆっくり、一つずつ積み上げていきましょうね。応援しています!

コメント

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