我创建一个分析网页(认为谷歌Analytics(分析),等等)与反应。阵营:最好的方法,从一个普通的“数据提供者”过滤器将数据传递给兄弟姐妹
我有一个封装中可用的不同的页面(一个概述,然后具体的下钻)的主要组分。
function Analytics(props) {
return (
<div id="main" className="analytics">
<AnalyticsFilter />
<div id="content">
<div id="contentsub">
{props.children}
</div>
</div>
</div>
);
}
的AnalyticsFilter
是过滤显示的数据的方式 - 它是所有页面相同,因此,为什么它包括在这里。这个想法是,显示数据的组件(props.children
)会从过滤器请求它,然后过滤器会懒惰地加载数据(并可能缓存数据),因为多个组件可能以不同的方式显示相同的数据(图表,表格,top10等)。
我的问题:什么是方便网页上的任何部件和组件AnalyticsFilter之间通信的理想方式?
过滤器都提供4-6个不同的数据集(都基于相同的过滤器参数),但我不希望查询所有这些对于在不需要它的页面(即一个特定的观点只关心特定的数据集)。
至于应该能够
- 请求特定类型的数据集的这样的组件,并
- 当滤波器参数更新自动更新。
所有事情都是开放的,因为我刚刚开始(对React而言是相当新的)。这里的Analytics
组件可以很容易地被重写,以包含更多的功能,如果这使得它更容易。