MapStateToProps依赖于组件的道具

时间:2018-06-15 16:13:43

标签: reactjs react-redux

我有这样的组件

export class Parent extends React.PureComponent {

    render() {
        let {items} = this.props;
        return <React.Fragment>
            {items.map((item, index) => <Child index={index} name={item.name}/>)}
        </React.Fragment>
    }

}

class Child extends React.PureComponent {

    render() {
        let {index, name} = this.props;
        return <div>{`index = ${index} name=${name}`}</div>
    }

}

const mapStateToProps = (state) => ({
});

export default connect(mapStateToProps)(Child);

如何从mapStateToProps中的Child组件中获取“index”参数?我想制作依赖于这个参数的道具。或者也许这是不好的做法,我必须以其他方式做到这一点?

1 个答案:

答案 0 :(得分:3)

mapStateToProps,ownProps有第二个可选参数。这应该是你需要的。

const mapStateToProps = (state, ownProps) => {
  return {
    active: ownProps.filter === state.visibilityFilter
  }
}