Я понимаю, что это фундаментальный вопрос, на который, возможно, уже был дан ответ, но я ищу окончательный ответ, возможно, с некоторыми аргументами, поскольку я не совсем нашел тот, который убеждает меня в том, что существует лучший / лучший / предпочтительный способ справиться с этим.
Сценарий. Компонент панели управления получает состояние redux через соединение. Некоторые данные используются совместно с панелью управления и ее дочерними элементами. Некоторые данные относятся к дочерним элементам приборной панели.
Вопрос: должен ли я всегда передавать свойства дочерним компонентам (что-то), как показано ниже, или я должен всегда подключать дочерние компоненты к redux и считывать необходимые данные прямо из состояния redux?
import React, { Component } from "react";
import { connect } from "react-redux";
import ChildOne from ".ChildOne";
import ChildTwo from ".ChildTwo";
class DashboardExample extends Component {
render() {
const { sharedData, childOneData, childTwoData } = this.props
return (
<div>
<h1>{sharedData.selectedDate}</h1>
<ChildOne sharedData={sharedData} childOneData={childOneData} />
<ChildTwo sharedData={sharedData} childTwoData={childTwoData} />
</div>
);
}
}
const mapStateToProps = state => ({
sharedData: state.dashboardData,
childOneData: state.childOneSpecificData,
childTwoData: state.childTwoSpecificData,
});
export default connect(mapStateToProps)(DashboardExample);