如何在连接功能中使用映射的道具 - 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> 
     ); 
    } 
} 

我推荐看看at the Redux usage with React documentation