- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道其他人如何处理将 redux Action 创建者从智能顶级组件传递到许多较低级别的dumb组件而不膨胀其 props 定义。
例如,以下 this excellent tutorial on redux ,如果我像这样将 Action 创建者列表传递到 Prop 中
import Voting from './Voting';
import * as actionCreators from '../action_creators';
...
export const VotingContainer = connect(
mapStateToProps,
actionCreators
)(Voting);
然后在我的投票组件中我可以访问 actionCreators,这真的很酷。
但是,如果我有 20 个用于投票及其所有子组件的 actionCreators,例如。
Voting -> VotingContainer -> VotingDetail -> VotingFoo -> VotingBar
然后我最终得到如下所示的渲染函数
class Voting extends React.Component {
render(){
<VotingContainer
actionCreator1={this.props.actionCreator1}
.
.
.
actionCreator15={this.props.actionCreator15} />
}
}
class VotingContainer extends React.Component {
render(){
<VotingDetail
actionCreator1={this.props.actionCreator1}
.
.
.
actionCreator12={this.props.actionCreator12} />
}
}
.
.
.
class VotingFoo extends React.Component {
render(){
<VotingBar
actionCreator1={this.props.actionCreator1}
.
.
.
actionCreator6={this.props.actionCreator6} />
}
}
对于这种情况是否有最佳实践,一种以某种方式将 actionCreators 分组在一起的方法,而无需在每个步骤中使用大量样板?我在任何教程/示例中都没有看到任何内容...
最佳答案
只需将树下面的组件也连接到 Redux 即可。
我们在示例中过分强调“顶部一个容器”。
当我们谈论非常简单的应用程序时,这是有道理的。
对于任何复杂的应用程序,一旦传递 props 变得乏味,就使用下面的 connect()
组件。我在我的免费视频中介绍了这一点:请参阅 Extracting Container Components以及接下来的几个视频。
关于reactjs - React/redux - 将 actionCreators 传递到多个深度级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33856656/
我需要从另一个调用 ActionCreator 鸭子/products.ts - 产品的 ActionCreator 和 Reducers... import { setStock } from '.
这是一个示例 Action 创建器。它分发正确的操作,然后尝试将存储中已更新的数据持久保存到文件系统(这是一个 Electron 应用程序)。 一切正常,但我有一个关于测试 Action 创建者的问题
我是 React-Redux 的新手。正在处理一个应用程序。问题是我可能遇到了一些异步执行 Redux actionCreator 的问题。 下面是我的组件。比如,我想从 componentDidMo
我想知道其他人如何处理将 redux Action 创建者从智能顶级组件传递到许多较低级别的dumb组件而不膨胀其 props 定义。 例如,以下 this excellent tutorial on
我收到以下错误: 未捕获的类型错误:this.props.dispatch不是函数 这是我的组件: import React from 'react'; import PropTypes from '
我有一个 Promise 数组,我试图将新的 Promise 推送到另一个 Dispatch.then 函数内的该数组中,但该数组似乎总是超出范围 load(params, auth) { r
我正在尝试使用mapDispatchToProps来获取Something组件中所有 Action 创建者的 Action ,但似乎Something组件的 Prop 中发生的任何事情都是未定义的我不
我正在使用 ReSwift和 RxSwift (如果没有这些信息,这个问题就没有多大意义)。 是否有一种标准方法可以在 ReSwift 中分派(dispatch) action creator 并在它
bindActionCreators expected a function actionCreator for key 'ACCOUNT_LOGIN', instead received type
阅读redux docs ,特别是在 react-redux 上,有一种不太详细的方法将操作创建者绑定(bind)到调度函数,使用一个简单的 actionCreators 对象,将其作为 2nd 参数
我正在使用 Yii2 RESTful API 实现。 这是一个好的开始:http://budiirawan.com/setup-restful-api-yii2/ 我正在用我自己的操作覆盖 CREAT
我正在浏览 connect docs并尝试理解这个例子: Inject todos and all action creators import * as actionCreators from '.
您好,我正在尝试使用 json-server 模拟我正在构建的 React Flux ES6 应用程序的 API。但是当我使用 super 代理节点模块从 Action 创建者发出请求时,回调中的数据
我是一名优秀的程序员,十分优秀!