渲染时无法通过redux-connect获取多个嵌套组件
我创建了带有redux connect的下拉组件,以便在我的应用程序中重复使用。
创建的组件CategoryDropDown,SubCategoryDropDown,CategoryTypeDropDown
我正在将CategoryDropDown
组件嵌套到SubCategoryDropDown
中-正常工作
将SubCategoryDropDown
嵌套在CategoryTypeDropDown
组件中时,只会触发CategoryDropDown
connect()
方法。
//这是在所有组件中使用的connect方法 //
export default connect(
mapStateToProps,
dispatch => bindActionCreators(actionCreators, dispatch)
)(SubCategoryDropDown);
在使用嵌套组件时,我是否正确使用组件并进行redux-connect?
我可以从另一个父组件更新一个子组件吗?我知道您可以使用道具从孩子那里更新父母,但不确定如何做。
答案 0 :(得分:0)
连接功能必须导出,
可以有这样的语法,有很多不同的方法,
所以这里的SubCategoryDropDown
组件可以将连接的东西用作道具,
export default connect(
mapStateToProps,
mapDispatchToProps
)(SubCategoryDropDown);
现在我已导入动作,已映射到道具,
import { addTodo, deleteTodo} from './actionCreators'
const mapDispatchToProps = {
addTodo,
deleteTodo
}
state
中存在的事物,例如todos
,现在用作props
,仅在(SubCategoryDropDown)
组件内部,
const mapStateToProps = state => ({ todos: state.todos })
在嵌套CategoryDropDown
时,
您可以像这样将数据传递给孩子,
<CategoryDropDown todos=this.props.todos />
答案 1 :(得分:0)
您绝对可以使用redux更新孩子所依赖的商店。没有任何代码,很难确切地知道您的问题所在。