1. ホーム
  2. reactjs

[解決済み] ショートサーキット(&&)条件コンポーネントで何も表示せず0を表示するReact

2022-12-02 06:39:18

質問

次のような簡単な短絡文があるのですが、コンポーネントを表示するか、何も表示しないかのどちらかです。

{profileTypesLoading && <GeneralLoader />}

ステートメントが偽の場合、それは 0 を表示します。

をしたのですが console.log(profileTypesLoading) の状態がどうなっているのかを手早く確認するために profileTypesLoading プロパティのステータスが何であるかを見てみると、予想通り 1 か 0 のどちらかです。 0 は false であるべきです...何もレンダリングされません。 そうですよね?

なぜこのようなことが起こるのか、何か心当たりはありますか?

どのように解決するのですか?

あなたの条件はファルシーなので、第2引数を返しません。 <GeneralLoader /> ) を返さないので profileTypesLoading これは数字なので、Reactはこれをレンダリングします。 typeof boolean または undefined であるものをレンダリングします。 typeof string または number :

安全性を高めるために、3項表現を使うか {condition ? <Component /> : null} のように条件をブーリアンキャストするか {!!condition && <Component />}