我如何引用连接(容器)组件's道具内mapStateToProps
How do I reference connected (container) component's props inside mapStateToProps?
我不明白ownProps在文档中是如何工作的,请帮助我澄清以下内容:
-
如果ownProps被指定为第二个参数,它的值将是传递给组件的Props
如果我有3个分量- 1。todoList, todo和connectedTodo (=connect(mapStateToProps, mapDispatchToProps, ownProps)(todo)
, todoList呈现了许多connectedTodo并向它们传递道具,这是否意味着todo可以访问从todoList传递下来的道具?如果我没有指定ownProps,那么todo将无法访问传递给connectedTodo的道具?
-
mapStateToProps将被额外地重新调用接收新的道具
这是否意味着无论何时todoList将新道具传递给connectedTodo,它的mapStateToProps将被调用,除了它订阅的状态发生变化之外?
如果我想在mapStateToProps
中做一些逻辑,并想引用connectedTodo的道具,我可以只使用this.props
吗?
的例子:
const mapStateToProps = function (state) {
data: state.otherSlice.name === this.props.name ? state.data: null
}
- Todo将有访问传递的道具,即使你不指定
ownProps
作为参数。ownProps
在你的第二个问题中描述的情况下很好用。 -
如果你需要有数据属性填充只有当它有相同的名称与组件当前
name
prop,如何这个小的代码修改:function mapStateToProps(state, ownProps) { return { ...ownProps, data: state.otherSlice.name === ownProps.name ? state.data : null } }
您提供的文档页底部还有几个示例
相关文章:
- 在 React/Redux 应用程序中,我应该何时显式传递一个 prop,而不是使用 mapStateToProps 从
- React + Redux connect (mapStateToProps)
- 如何使用react redux与mapStateToProps、MapDispatchToProps和redux路由器连
- React/Redux:mapStateToProps实际上并没有将状态映射到道具
- React redux connect()'s的mapStateToProps在react路由器导航上被多次调用
- React Redux MapStateToProps
- 移除mapStateToProps中的属性
- 调用mapStateToProps似乎传递了错误的状态对象
- React Redux——我可以让mapStateToProps只接受部分状态吗?
- 我如何引用连接(容器)组件's道具内mapStateToProps
- 检查函数react redux组件中从mapStateToProps传递的props的真实性
- Redux是如何将状态传递给mapStateToProps的