reactjs - 如何将道具(从 Redux 获取)从一个组件传递到另一个组件(React/Redux)?
问题描述
如何将道具(从 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 方法都无法帮助解决它。
是否可以?
解决方案
这是可能的并且建议这样做,因此您不需要每次都通过“连接”调用所有 HOC 存储。将所有相关的操作和减速器调用到您的容器中,并将它们作为道具传递。
在这种情况下,你的reducer名字叫做data,你需要这样调用(我把props名字改成了data,所以你可以给你的孩子调用props.data):
<InnerComponent data={this.props.data} />
或者你可以像这样传递来自父母的所有道具:
<InnerComponent {...this.props} />
推荐阅读
- machine-learning - 使用 Keras 进行层级联
- java - Vaadin 10 安全登录/安全
- javascript - 将对象页面绑定到 HTML
- excel - Excel宏,插入每一行
- java - 使用 Feign 客户端响应 Spring Boot
- python - tkinter python的错误总是收到错误但没有正确的条件
- facebook - Facebook 共享对话框替代 publish_actions
- visual-studio - VS 2017 15.8 更新破坏了发布选定文件
- html - 使用视口动态调整 3x3 方格的大小
- webpack - 使用 webpack 创建库时的 name 与 name.default