gpt4 book ai didi

javascript - 如何在 mapDispatchToProps 中访问 mapStateToProps 添加的属性?

转载 作者:行者123 更新时间:2023-11-29 16:02:39 25 4
gpt4 key购买 nike

React Redux 提供函数 connect 将 Redux statedispatch 绑定(bind)到 React 组件(作为属性)。

connect([mapStateToProps], [mapDispatchToProps], [mergeProps], [options])

mapStateToProps(state, [ownProps]): stateProps

mapDispatchToProps(dispatch, [ownProps]): dispatchProps

如何在函数 mapDispatchToProps 中访问函数 mapStateToProps 添加的属性?

例如,我使用函数 mapStateToProps 向组件添加属性 propertyFromState,如何在函数 mapDispatchToProps 中访问属性 propertyFromState ?

我尝试使用参数 ownProps 访问它,但它是 undefined

最佳答案

您无法访问 mapDispatchToProps 中的 Prop 。相反,您可以在调用函数时将参数传递给该函数。例如,如果你想将 prop 传递给 action,你可以通过多种方式进行。

首先:

function mapDispatchToProps(dispatch) {
return {
onNameChanged: (name) => dispatch({ type: 'NAME_CHANGED', payload: name })
}
}

或者

function mapDispatchToProps(dispatch) {
return {
actions: bindActionCreator(action, dispatch);
}
}

从您的组件中调用 this.props.actions(propertyFromState)。在 actions.js 中创建接受这样的参数的 Action

function action1(property){
return { type: 'NAME_CHANGED', payload: property }
}

关于javascript - 如何在 mapDispatchToProps 中访问 mapStateToProps 添加的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50401939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com