Reactでリストをレンダリングする方法の紹介(コード付き)
この記事では、React でリストをレンダリングする方法を紹介します (コード付き)。必要な方は参考にしていただければ幸いです。
表示ページには、通常、いくつかの表示状態があります (リスト ページを例に挙げます):
データは空です、空のページです
データの取得中にエラーが発生しました。エラー ページ
データは正常です
読み込みステータス
上記の 3 つの状況では、react がリストをレンダリングするときに、対応するビューを正しく判断してレンダリングする必要があります。これは、vue の v-if とは異なり、条件付きレンダリングです。 v- show などのフレームワークによって提供される API、および React の条件付きレンダリングはすべて、JS にネイティブであり、たとえば、if/else、&&、sanmu などのドキュメントで説明されています。
これら 3 つのメソッドは公式ドキュメントで言及されており、ここにまとめられています。実際、これら 3 つのソリューションは似ています。 : レンダリングライフサイクルで対応する判断を行います。ただし、jsx 行内で三項演算子と短絡演算子が使用できることがわかります。ただし、判断分岐が増えると必然的にコードが非常に冗長になり、再利用性も懸念されます。ここでの render は、もちろん、render のライフサイクルの一部ではありません。vue
class List extends Component { static propTypes = { status: PropTypes.oneOf(['loading', 'error', 'success', 'empty']) } render () { const { status } = this.props if (status === 'loading') { return <div> 加载状态 </div> } if (status === 'error') { return <div> 错误状态 </div> } if (status === 'success') { return <div> 成功状态 </div> } if (status === 'empty') { return <div> 空状态 </div> } } }
の v-if に対応できます。上記は単純な Render コンポーネントであり、その使用方法です。
function Render ({ if: cond, children }) { return cond ? children : null }
render /else で if を多用するのと比較すると、上記の記述方法は間違いなく明確です。すべてのリスト ビジネス コンポーネントが統合され、ステータスが一貫している場合、より高いレベルの抽象化を実行し、他のステータスを高次の関数に抽象化できます。コードを記述するときは、成功ステータスが正しく表示されることを確認してください。
関数をすぐに実行します。
jsx に変数を記述し、関数をすぐに実行することもできます。 class List extends Component {
static propTypes = {
status: PropTypes.oneOf(['loading', 'error', 'success', 'empty'])
}
render () {
const { status } = this.props
return (
<div>
<Render if={status === 'loading'} >
加载状态
</Render>
<Render if={status === 'error'} >
错误状态
</Render>
<Render if={status === 'success'} >
成功状态
</Render>
<Render if={status === 'empty'} >
空状态
</Render>
</div>
)
}
}
ログイン後にコピー
即時関数のレプリケーション明らかに実用的ではないため、即時関数の適用可能なシナリオは、比較的複雑だが再利用できない種類のコンポーネントです上位コンポーネントclass List extends Component { static propTypes = { status: PropTypes.oneOf(['loading', 'error', 'success', 'empty']) } render () { const { status } = this.props return ( <div> <Render if={status === 'loading'} > 加载状态 </Render> <Render if={status === 'error'} > 错误状态 </Render> <Render if={status === 'success'} > 成功状态 </Render> <Render if={status === 'empty'} > 空状态 </Render> </div> ) } }
上位コンポーネントの概念については詳しく説明しませんが、条件付きレンダリングのロジックを上位コンポーネントに組み込むことで、コンポーネントの再利用率を向上させることもできます。 ##
class List extends Component { static propTypes = { status: PropTypes.oneOf(['loading', 'error', 'success', 'empty']) } render () { const { status } = this.props return ( <div> {(() => { switch (status) { case 'loading': return <div>加载状态</div> case 'error': return <div>错误状态</div> case 'success': return <div>成功状态</div> case 'empty': return <div>空状态</div> } })()} </div> ) } }
すべてのリストのプロパティが一貫していることを確認できれば (つまり、すべてのリストがステータスを使用してステータスを決定する)、ステータスを成功のステータスとして書き込むことに完全に集中できます:
const withList = WrappedComponent => { return class PP extends Component { render() { const { status } = this.props switch (status) { case 'loading': return <div>加载状态</div> case 'error': return <div>错误状态</div> case 'success': return <WrappedComponent {...this.props}/> case 'empty': return <div>空状态</div> } } } }
次に、読み込み、エラー、空のステータスをコンポーネントに抽出できます。これは間違いなくコンポーネントの再利用率の向上に役立ちます。
以上がReactでリストをレンダリングする方法の紹介(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

使用法: JavaScript では、insertBefore() メソッドを使用して、DOM ツリーに新しいノードを挿入します。このメソッドには、挿入される新しいノードと参照ノード (つまり、新しいノードが挿入されるノード) の 2 つのパラメータが必要です。

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが
