目次
React の仕組み
React を使用する利点は何ですか。
プレゼンテーション コンポーネントとコンテナ コンポーネント
クラス コンポーネントと機能コンポーネントの違いは何ですか。
(コンポーネントの) 状態とプロパティ (props) の違いは何ですか。
(コンポーネント) ライフサイクル メソッドの違いを指摘します
Ajax リクエストは React コンポーネントのどこで開始する必要がありますか
制御コンポーネントとは
React における refs の役割
高次コンポーネントとは何ですか?
アロー関数を使用する利点は何ですか
setState に渡されるパラメータがオブジェクトではなくコールバックであることが推奨される理由
コンストラクターで this をバインドする以外に、他の方法はありますか?
コンポーネントのレンダリングを防ぐ方法
リストをレンダリングするとき、鍵は何ですか?キーを設定する目的は何ですか
(コンストラクター内で) super(props) を呼び出す目的は何ですか。
JSXとは
React.createElement を使用して次のコードを書き換える方法
React では、state とは何ですか
create-react-app の依存関係から抜け出す理由は何ですか。
redux とは
Redux では、store とは何ですか
action とは
reducer とは
Redux Thunk の役割とは
純粋関数とは何ですか?
ホームページ ウェブフロントエンド jsチュートリアル (コレクション) React でのよくある面接の質問の紹介

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

Oct 22, 2018 pm 05:35 PM
react.js

この記事では、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 では、