我不了解ownProps在docs中是如何工作的,请帮我澄清以下内容:
-
如果将ownProps指定为第二个参数,则其值将是传递给组件的props
如果我有3个组件 - 1. todoList,todo和connectedTodo( =connect(mapStateToProps, mapDispatchToProps, ownProps)(todo)
,并且todolist渲染了很多connectedTodos并将道具传递给他们,这是否意味着,todo可以访问从todolist传下来的道具?如果我没有't specify ownProps, then todo WON' T有权访问传递给connectedTodo的道具吗?
-
只要组件收到新的道具,就会再次调用mapStateToProps
这是否意味着每当todoList将新道具传递给connectedTodo时,除了订阅状态发生变化之外,还会调用它的mapStateToProps?
如果我想在 mapStateToProps
中做一些逻辑并想要引用connectedTodo的道具,我可以只使用 this.props
吗?
例:
const mapStateToProps = function (state) {
data: state.otherSlice.name === this.props.name ? state.data: null
}
1 回答
即使您不指定
ownProps
作为参数,Todo也可以访问传递的道具 .ownProps
适合在第二个问题中描述的情况下使用 .如果只有在组件当前
name
prop具有相同名称时才需要填充数据属性,那么这个小代码修改如何:您提供的文档页面底部还有几个示例 .