带有ID的mapStateToProps?

时间:2017-06-23 20:05:52

标签: javascript reactjs react-redux

现在我有一个通用函数可以获得所有Element s

const mapStateToProps = ({elements}) => {
    return {
        elements: getElementsByKeyName(elements, 'visibleElements'),
    };
};

我想将其改为

const mapStateToProps = ({elements}) => {
    return {
        elements: getElementsById(elements, this.props.elementId),
    };
};

如果我正在使用必需的elementId道具来初始化我的React类,那么有可能实现这一点而不是将它们全部化,并且每次我需要在我的视图中更具体时进行过滤?

谢谢!

1 个答案:

答案 0 :(得分:3)

mapStateToProps函数接受第二个参数,它是自己的道具(传递给连接外部组件的道具)。如果我正确地理解了你想要实现的目标,你可以通过这种方式获取id。

const mapStateToProps = ({elements}, {id}) => {
  return {
    elements: getElementsById(elements, id),
  };
};