3
1

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 3 years have passed since last update.

いなたつAdvent Calendar 2019

Day 1

短絡評価を用いたReactでのコンポーネント配置

Last updated at Posted at 2019-12-01

はじめに

いなたつアドカレへようこそ初日です、頑張って一人で25記事書くODL(あうとぷっとどりぶんらーにんぐ)企画、完走したいですね。

自分の中にあるネタを引っ張り出して記事を書いていきます。。。くおりてぃ。。。。

今日は頭にあるとスマート?に実装をかける?やつを忘れないようにここにのこしておきます。

短絡評価とは

andやorで値を評価する時に

A && B // A,B共に真
A || B // A,Bどちらかが真

となるためA && Bの A が偽の場合やA || BのAが真の場合、つまりBの値にかかわらずA && BA || B の評価結果が決定する場合にはBを評価しないといった言語使用です。

主な使用ケースとしては、Bに動作の重い処理を置いて、Aの値で評価が決定してしまい、Bの結果が不要な(重い処理を走らせる必要がない)場合に処理を軽減する

今回はこの性質を利用し、ある条件が真となる場合にのみコンポーネントを配置するといったことを行う。

じっそー

結論から言ってこんな感じ

{i % 2 == 0 && <div>test</div>}

上のプログラムはiが偶数の時に<div>test</div>を配置するといった内容です。

A && Bの A が偽の場合やA || BのAが真の場合、つまりBの値にかかわらずA && BA || B の評価結果が決定する場合にはBを評価しないといった言語使用です。

&&の場合の性質の応用ですね、Aが偽の場合はたとえBが真であっても、結果は偽となるため、Bを評価しないと言った性質なので、iが奇数の場合は右の式が評価されず、<div>test</div>は配置されません。
しかし、iが偶数の場合はAが真なので、Bを評価しないと、式全体の評価ができないため、Bが評価され、<div>test</div>が配置されます。

おわりに

このようにして、とある条件が真の場合のみ、コンポーネントを配置することができます。
実際の実装では、三項演算子を用いて、条件が真の場合と偽の場合で配置するコンポーネントを分けると言った場面が多いかもしれませんが(知らんけど)&&の短絡評価の性質を利用することで、条件が真の場合のみコンポーネントを配置すると言った実装がスマート?にかけます。

3
1
1

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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?