ホームページ  >  記事  >  ウェブフロントエンド  >  (コレクション) React でのよくある面接の質問の紹介

(コレクション) React でのよくある面接の質問の紹介

不言
不言転載
2018-10-22 17:35:021786ブラウズ

この記事では、React でよく使用される面接の質問 (コレクション) を紹介します。必要な方は参考にしていただければ幸いです。

以下は、React に関してよく使用される面接の質問のリストです:

面接官でも採用担当者でも、次の質問を参照できます

必ずブックマークしてください

React の仕組み

React は仮想 DOM (仮想 DOM) を作成します。コンポーネントの状態が変化すると、React は最初に「差分」アルゴリズムを通じて仮想 DOM 内の変更をマークします。2 番目のステップは調整で、DOM は差分の結果で更新されます。

React を使用する利点は何ですか。

render 関数を見るだけで、コンポーネントがどのようにレンダリングされるかを簡単に知ることができます。

JSX の導入により、コンポーネント コードが読みやすくなり、コンポーネントのレイアウトやコンポーネントが相互に参照する方法を理解しやすくなります

サーバー側レンダリングをサポートし、SEO とパフォーマンスを向上させることができます

簡単to test

React は View レイヤーのみに焦点を当てているため、他のフレームワーク (Backbone.js、Angular.js など) で使用できます

プレゼンテーション コンポーネントとコンテナ コンポーネント

プレゼンテーション コンポーネントは、コンポーネントの外観を重視します。 Display は特に props を介してデータとコールバックを受け入れ、独自の状態を持つことはほとんどありませんが、表示コンポーネントが独自の状態を持つ場合、通常はデータの状態ではなく UI の状態のみを考慮します。

コンテナ コンポーネントは、コンポーネントがどのように動作するかに重点を置いています。コンテナ コンポーネントは、表示コンポーネントまたは他のコンテナ コンポーネントにデータと動作 (動作) を提供し、Flux アクションを呼び出し、それらを表示コンポーネントへのコールバックとして提供します。コンテナ コンポーネントは (他のコンポーネントの) データのソースであるため、多くの場合ステートフルです。

クラス コンポーネントと機能コンポーネントの違いは何ですか。

クラス コンポーネントでは、コンポーネント自体などの追加機能を使用できるだけでなく、ステート フックやライフ サイクル フックもコンポーネントを有効にします。ストアに直接アクセスして状態を維持するには

コンポーネントが props のみを受け取り、コンポーネント自体をページにレンダリングする場合、そのコンポーネントは「ステートレス コンポーネント」です。そのようなコンポーネントは純粋な関数を使用して作成できます。このようなコンポーネントは、ダム コンポーネントまたはプレゼンテーション コンポーネントとも呼ばれます。

(コンポーネントの) 状態とプロパティ (props) の違いは何ですか。

State は、コンポーネントのデフォルト値に使用されるデータ構造です。コンポーネントのマウント時に必要なデータ。状態は時間の経過とともに変化する可能性がありますが、ほとんどの場合、ユーザー イベントの動作の結果として変化します。

Props (プロパティの略) はコンポーネントの構成です。小道具は親コンポーネントから子コンポーネントに渡され、子コンポーネントに関する限り、小道具は不変です。コンポーネントはそれ自身の props を変更できませんが、そのサブコンポーネントの props をまとめることはできます (統合管理)。小道具は単なるデータではありません。小道具を介してコールバック関数を渡すこともできます。

(コンポーネント) ライフサイクル メソッドの違いを指摘します

componentWillMount -- 主にルート コンポーネントでのアプリケーション構成に使用されます

componentDidMount -- すべてを使用できますここで完了 DOM なしでは実行できないすべての設定と、必要なすべてのデータの取得を開始します。イベント リスニングを設定する必要がある場合は、ここで完了することもできます。

componentWillReceiveProps -- この定期関数は状態に作用します。特定の prop の変更が原因です。 遷移

shouldComponentUpdate -- コンポーネントの過剰レンダリングが心配な場合は、 shouldComponentUpdate を使用すると、コンポーネントが新しい props を受け取った場合に再レンダリングを防ぐことができるため、パフォーマンスを向上させることができます。 shouldComponentUpdate は、コンポーネントを再レンダリングする必要があるかどうかを決定するブール値を返す必要があります。

componentWillUpdate -- ほとんど使用されません。コンポーネントのcomponentWillReceivePropsと shouldComponentUpdate を置き換えるのに使用できます(ただし、前のプロパティにはアクセスできません)

componentDidUpdate -- propまたはstateの変更に応じてDOMを更新するためによく使用されます

componentWillUnmount -- ここで、ネットワーク要求をキャンセルするか、コンポーネント

# に関連するすべてのイベント リスナーを削除できます。

Ajax リクエストは React コンポーネントのどこで開始する必要がありますか

React コンポーネントでは、ネットワーク リクエストは、componentDidMount で開始する必要があります。このメソッドは、コンポーネントが最初に「マウント」される (DOM に追加される) ときに実行され、コンポーネントのライフサイクルで 1 回だけ実行されます。さらに重要なのは、コンポーネントがマウントされる前にそれを保証できないことです。 Ajax リクエストが完了した場合は、アンマウントされたコンポーネントに対して setState を呼び出そうとしていることを意味しますが、これは機能しません。 ComponentDidMount でネットワーク要求を行うと、更新する準備ができているコンポーネントが存在することが保証されます。

制御コンポーネントとは

HTML では、