私は1〜2回のチェックが間に合わなかったので、アプリ全体が壊れていました。簡単な間違いがアプリ全体を壊す可能性があるので、これはjsでの書面による苦痛だと本当に感じています。javascriptが未定義のため、アプリの中断を防ぎます。
は単位が定義されていない場合、それはエラーになります。このコード
{this.state.floor && this.state.floor[this.state.selectedTab].units.length === 0 && <div>render something</div>}
してください。どうすれば確認できますか?最初のチェックthis.state.floor
は動作していないようです。 this.state.floor.length > 1
かどうかを確認する必要がありますか?
データの戻り値がネストされているか、複数のネストされたプロパティがある場合、私のjsxはいつかとても複雑になります。
'this.state.floor'の横に' this.state.floor [this.state.selectedTab] 'と' this.state.floor [this.state.s選出されたタブ] .units'存在する。 – Titus
@Titusだから、私は言った、私のjsx見た目がとても乱雑に見える、この問題の任意の解決? –
実際には、TLaddのような独自の関数にチェックを引き出すことはできません。また、プロパティを確認するユーティリティ関数を作成することもできます(例: 'Utils.hasProp(obj、" prop1.prop2 .... ")')。プロパティが存在するかどうか不明な場合は、チェックを行う必要があります。 – Titus