反応還元における成分と容器の違いは何ですか?反応還元における成分と容器の差
答えて
Component
は、React APIの一部です。コンポーネントは、React UIの一部を記述するクラスまたは関数です。
コンテナは、リアクタンスコンポーネントの非公式の用語で、connect
-reduxストアです。コンテナはRedux状態の更新とdispatch
アクションを受け取り、通常DOM要素をレンダリングしません。レンダリングをプレゼンテーション子コンポーネントに委譲します。
詳細はpresentational vs container components Dan Abramovによる。
これはかなり良い説明です。非常に短いと私は詳細を得ることができます –
両方ともコンポーネントです。コンテナは機能的なので、独自のHTMLをレンダリングせず、実際のhtmlを記述するプレゼンテーションコンポーネントも持っています。コンテナの目的は、状態とディスパッチをプレゼンテーションコンポーネントの小道具にマッピングすることです。
さらに読書:データをフェッチし、それはスマートまたはコンテナコンポーネントと呼ばれて表示するための責任があるLink
コンポーネント。データはredux、props、または任意のネットワークコールから取得できます。
ダム/プレゼンテーションコンポーネントは、受け取るデータの提示を担当するコンポーネントです。ここ
https://www.cronj.com/blog/difference-container-component-react-js/
例と
良い記事のコンポーネントがビューのpiaceを構築し、それは、DOM要素をレンダリングする必要がありますが、画面上のコンテンツを置きます。
コンテナはデータの精緻化に参加しているので、状態を変更する必要があるため、reduxと「話す」必要があります。だから、あなたはそれが接続を作るもの(反応-Reduxのを)を接続し、機能mapStateToPropsとmapDispatchToPropsを含める必要があります。
.
.
.
import { connect } from "react-redux";
class myContainer extends Component {
}
function mapStateToProps(state) {
// You return what it will show up as props of myContainer
return {
property: this.state.property
};
}
function mapDispatchToProps(dispatch) {
// Whenever property is called, it should be passed to all reducers
return bindActionCreators({ property: property }, dispatch);
}
export default connect(mapStateToProps, mapDispatchToProps)(myContainer);
が反応、Reduxのは、独立したライブラリです。
Reactは、HTMLドキュメントを作成するためのフレームワークを提供します。コンポーネントは、ドキュメントの特定の部分を表す方法です。コンポーネントに関連付けられたメソッドは、ドキュメントの非常に特定の部分を操作できます。
Reduxは、JS環境でデータを格納および管理するための特定の哲学を規定するフレームワークです。特定のメソッドが定義された1つの大きなJSオブジェクトです。ベストユースケースは、Webアプリケーションの状態管理の形で提供されます。
Reactはすべてのデータがルートからリーフに流れるように規定しているので、すべての小道具をメインにして、小道具をコンポーネントに定義し、小道具を小道具に渡すのは面倒です。また、アプリケーション状態全体が脆弱になります。
React Reduxは、接続されたコンポーネントを別のReact Component(Container
)にラップするだけで、Reduxストアに直接接続するクリーンなソリューションを提供します。実装では、アプリケーション全体のどの部分が必要なのかを定義しています。したがって、connect
は、そのデータをストアから取り出して、それ自体をarroundにラップするコンポーネントに小道具として渡します。
は、この単純な例を考えてみましょう:
class Person extends Component {
constructor(props){
this.name = this.props.name;
this.type = this.props.type;
}
render() {
return <p> My name is {this.name}. I am a doctor { this.type } </p>
}
}
const connect = InnerComponent => {
class A extends Component{
render() {
return <InnerComponent {...this.props} type="Doctor"/>
}
}
A.displayName = `Connect(${InnerComponent.displayName})`
return A
}
connect
機能は小道具type
を渡します。
このように、connectはPersonコンポーネントのコンテナとして機能します。
- 1. 反応成分対容器
- 2. 反応+還元における還元剤の良い戦略は?
- 3. 還元反応式と還元型の反応
- 4. 反応還元剤とコンテナ/成分の混乱
- 5. 還元還元剤に含まれる反応還元反応には、状態が含まれています
- 6. 反応/還元還元剤にローカル画像を追加する
- 7. 反応確認ミドルウェアと還元型ミドルウェア
- 8. 反応還元還元サンク:発送性能問題
- 9. 「接続」と反応還元を掛けよう
- 10. 反応ブートストラップと反応+還元> FormControl>値を取得
- 11. 反応なしで還元する
- 12. 反応の還元での発送
- 13. 還元反応を伴うアポロ
- 14. 反応高次成分を使用する - 具体的に反応性のある仕分け式を還元する
- 15. 反応に還元反応を使用する理由は何ですか?
- 16. 反応ルータのルートの場所との同期還元店
- 17. 還元反応状態に応じて同じ反応ルータ経路で異なる反応成分をバインドする方法はありますか?
- 18. meteor.js:還元とセッション変数と反応状態
- 19. 反応還元剤のリデューサーと構造が良い
- 20. 入力と反応の還元状態を更新
- 21. 反応還元性能を改善するには?
- 22. ユーザー認証ストアに反応して還元する
- 23. 還元と反応を使用した無限スクロール
- 24. 複数のアクションを反応させる/還元する
- 25. 還元/反応しているアプリの状態に還元剤の名前のプロパティがあります
- 26. 反応還元の状態について
- 27. 反応成分/オーバーレイ反応成分で反応成分DidMountを使用する
- 28. 反応ウィジェットから複数選択のある還元型
- 29. 最初のajaxデータを反応させて還元し、子を生成する
- 30. 還元反応の結果に応じてReactコンポーネントを更新する方法
コンテナは、ストアを認識しており、ステートプロップをコンポーネントに送信します。コンポーネントの唯一の目的は、htmlをレンダリングすることです。理想的にはコンポーネントはステートレスです。ユニットテストを書くのが簡単になります。 –