如何在连接功能中使用映射的道具 - redux?
问题描述:
我想在我的deleteListSettingsCustomSubjectLine函数中使用我映射的listId。我认为我可以使用ownProps,但它返回undefined。有人可以解释应该怎么做?如何在连接功能中使用映射的道具 - redux?
@connect(state => {
return {
listId: state.views.ListSettings.listSettings.listId,
}
}, (dispatch, ownProps) {
return {
onCustomSubjectLineDelete:() => {
const {listId} = ownProps; //undefined
dispatch(actions
.deleteListSettingsCustomSubjectLine(listId));
}
}
})
答
新:
我建议传递listId
属性作为参数传递给onCustomSubjectLineDelete
,把它作为onCustomSubjectLineDelete(listId);
然后定义是:
onCustomSubjectLineDelete(listId) {
dispatch(actions.deleteListSettingsCustomSubjectLine(listId);
}
旧的,不好的回答:
下面是一个简化示例(仅使用mapStateToProps
的第一个参数)。映射到道具就是这样,您可以通过this.props
属性访问映射的属性。
@connect(state => {
return {
listId: state.views.ListSettings.listSettings.listId,
}
})
class Example extends React.Component {
render() {
const { listId } = this.props;
return (
<div>{listId}</div>
);
}
}