渲染时无法使用 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?
我可以从另一个父组件更新子组件吗?我知道你可以使用 props 从孩子那里更新父母,但不知道如何以其他方式做到这一点。
connect函数必须导出, 可以有这样的语法,有很多不同的方法可以做到这一点, 所以这里
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 />
你绝对可以用 redux 来更新孩子所依赖的 store。如果没有任何代码,很难准确知道您的问题是什么。