React JSXビューでは、b
がundefined
の場合があるため、ビュー全体がクラッシュするという表現があります。{a.b.c}
the same behaviour than expressions in AngularJSを提供するモジュールはありますか?私は、ビューをクラッシュさせる代わりに何も表示しない式を好む。例えば{((a||{}).b||{}).c}
のようなものを書くべきでしょうか?Reactの "Forgiving"エクスプレッション
2
A
答えて
3
Felix Klingはコメントでこれを答えました:反応式はただのJavaScriptです。未定義のTypeErrors、またはあなたを助けるライブラリを避けるために、任意のJavaScriptテクニックを使用できます。あなたが使用できるJavaScriptの
使用バニラ:dot-prop
を使用する
<Component prop={a && a.b && a.b.c} />
0
を深くネストされた構造では、それは便利かもしれません。
dotProp.get(a, 'b.c');
関連する問題
- 1. ヤムとエクスプレッション言語
- 2. Laravel Eloquent Catch特別なエクスプレッション
- 3. エクスプレッション/パワートレンドラインをggplotに追加
- 4. Roslyn(ラムダ)エクスプレッションBodiedプロパティの構文
- 5. エクスプレッションでドライルータを実現する方法
- 6. matplotlibはエクスプレッションを表示しますか?
- 7. JBox2D 2.1.2エクスプレッション(新世界創造)
- 8. エクスプレッションがエクスペリエンスエディタで動作しないようにします
- 9. After Effectsエクスプレッションを使用してオーディオファイルをトリガーする
- 10. ページネーションがエクスプレッションで動作していません:search:search_results in expression engine
- 11. React + React Routerのスコープ
- 12. react-rteのonBlurプロパティreactコンポーネント
- 13. React + Reactネイティブスターターキット
- 14. React、Redux、React-Router?
- 15. React-react-scripts publicPath
- 16. React/React Nativeグローバルスコープ
- 17. React Using React Components
- 18. 複数の異なるデリミタ内の文字列を抽出する正規表現のエクスプレッション
- 19. EasyMock:AssertionError - 予期しないメソッド呼び出し:複数の模擬オブジェクトを含む複数のエクスプレッションを含む
- 20. ReactとSemantic-ui-react
- 21. React - Context issue - raphael-react
- 22. ReactとReact-DraggableのsetStateの問題
- 23. エクスプレッションは値であるため、割り当ての対象にすることはできません
- 24. ReactネイティブのReact Navigationによるルーティング
- 25. react + google-maps-react複数のメーカーをレンダリング
- 26. React Native:ADB create-react-native-appの問題
- 27. React/React Native:コンポーネント内の実行順序
- 28. React ServerとReact Clientの違い
- 29. React-Native-Meteorの更新React-Native 0.33
- 30. React beginnerとしてのReact-data-grid
*「提供モジュールはありますか?」*単なるJavaScriptです。この問題を解決する既存のソリューション/モジュールを使用できます。 * React *がこのような機能を提供するかどうか疑問に思うなら、いいえ。それはなぜでしょうか? –
リアクションは純粋なjavascriptであり、その表現は純粋なjavascriptのものと同じではありませんが、同じではありません。だからあなたは '{a.b.c} 'をリアクションの許しの表現として使うことはできません –
@FelixKling彼の質問は有効です。傲慢さの必要はありません。 Angularはこれらの状況をエレガントに処理します。未定義のスタックは生成されません。そのため、自分の世界ではJavaScriptだけではありません。彼がリアクトに慣れていないことを考えると、彼の質問は合理的ではありません。 – lux