我不明白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 } }
您提供的文档页底部还有几个示例