1

コンテキストに関する公式ドキュメント ( https://reactjs.org/docs/context.html ) を読んだ後、その使用は、「グローバル」と見なすことができるいくつかの変数がある状況に制限する必要があると感じています。さまざまなネスト レベル (現在のテーマ、ロケール、現在認証されているユーザーなど) の多くのコンポーネントに送信します。

コンテキストは、現在認証されているユーザー、テーマ、優先言語など、React コンポーネントのツリーの「グローバル」と見なすことができるデータを共有するように設計されています。

コンテキストは主に、さまざまなネスト レベルの多くのコンポーネントから一部のデータにアクセスする必要がある場合に使用されます。コンポーネントの再利用が難しくなるため、慎重に適用してください。

コンポーネント ツリー内で互いに離れているコンポーネント間の通信を容易にするために Context を使用したいと考えています。多くのユーザーは Redux を (主な目的ではありませんが) そのために使用しましたが、React で (react-redux パッケージを介して) 使用すると、そのようなアプローチは Context によって内部的に強化されますが、同様に落胆することはありませんでした。

Context が redux + react-redux と比較して (Redux が状態を更新する別の方法を持っているという事実を除いて) 説明されたシナリオで Context を使用しないようにする欠点はありますか? ドキュメントによると、コンポーネントの再利用がより困難になります。それはどのように行われますか?この詐欺はredux + react-reduxデュオにも関連していませんか?

4

2 に答える 2

0

あなたの質問はよくわかりません。しかし、あなたが述べたように反応ドキュメントからの声明を考えると、

コンテキストは主に、さまざまなネスト レベルの多くのコンポーネントから一部のデータにアクセスする必要がある場合に使用されます。コンポーネントの再利用が難しくなるため、慎重に適用してください。

私が見ることができること、ドキュメントから、警告:状態を持ち上げる必要があるかもしれません。

また、プロジェクトでコンテキスト API を使用する前に、いくつかのことを考慮する必要があります。そうしないと、失敗する可能性があります。これは、「部品の再利用が難しくなるため、慎重に適用してください」というステートメントを覚えているためだと思います。次の点は、必要に応じてコンポーネントを再利用すると見なされる可能性のあるコンテキスト API を使用する方法についてドキュメントで概説されています。

そして、あなたは明らかに難しさを感じるかもしれません。それ以外の場合は、redux logger などを除いて、redux でできることを使用できることがわかります。

于 2018-10-03T09:54:49.013 に答える