如何将道具(从Redux获取)从一个组件传递到另一组件(React / Redux)?

时间:2018-12-16 18:07:35

标签: reactjs redux react-redux react-router react-router-dom

如何将道具(从Redux获取的)从WrapperComponent传递到InnerComponent(React / Redux)?

import React, { Component } from "react";
import { connect } from "react-redux";
import { withRouter } from "react-router-dom";
import InnerComponent from "./InnerComponent ";

class WrapperComponent extends Component {
  state = {
    data: []
  };

  render() {
    return (
      <div>
        <InnerComponent props={this.props} />
      </div>
    );
  }
}

const mapStateToProps = state => ({
  data: state.data
});

export default connect(mapStateToProps)(withRouter(WrapperComponent));

渲染WrapperComponent之后-道具仍然不在。 任何LifeCicle方法都无法解决它。

有可能吗?

1 个答案:

答案 0 :(得分:1)

有可能,建议这样做,因此您不需要每次都通过“连接”调用所有HOC存储。将所有相关的动作和减速器调用到您的容器中,并将它们作为道具传递。

在这种情况下,您的reducer名称称为data,您需要这样命名(我将props名称更改为data,因此您可以给您的孩子调用props.data):

<InnerComponent data={this.props.data} />

或者您可以像这样通过父母的所有道具:

<InnerComponent {...this.props} />