Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多反应组件体系结构_Javascript_Reactjs_Isomorphic Javascript - Fatal编程技术网

Javascript 多反应组件体系结构

Javascript 多反应组件体系结构,javascript,reactjs,isomorphic-javascript,Javascript,Reactjs,Isomorphic Javascript,我正在创建一个使用数据API的实时仪表板。该应用程序是一个同构的react应用程序,构建在节点API之上,我使用的是Flux架构,更具体地说是 我的问题是仪表板有大约4/5个实时图表(我正在使用,每个图表调用一个API端点。我有一个主要的组件,在这个组件中,每个图表组件都存在。我的问题是应该负责监听数据并将其作为道具传递,还是每个图形组件应该负责自己的存储/操作生命周期?如果我通过作为道具,这是否意味着用户界面将重新播放超过要求的内容 我还没有找到任何反应/仪表板/图表应用程序的例子,所以如果有

我正在创建一个使用数据API的实时仪表板。该应用程序是一个同构的react应用程序,构建在节点API之上,我使用的是Flux架构,更具体地说是

我的问题是仪表板有大约4/5个实时图表(我正在使用,每个图表调用一个API端点。我有一个主要的
组件,在这个组件中,每个图表组件都存在。我的问题是
应该负责监听数据并将其作为道具传递,还是每个图形组件应该负责自己的存储/操作生命周期?如果我通过作为道具,这是否意味着用户界面将重新播放超过要求的内容


我还没有找到任何反应/仪表板/图表应用程序的例子,所以如果有人知道这将是非常有用的。

< P>最好是将API访问权限保持在顶层,并将所有的东西都通过道具传递。考虑将API中的数据放到一个存储区中,并使用它来驱动顶级组件。这样做的好处:

  • 现在,您可以在多个位置自由使用相同的数据-它不会被困在子组件中
  • 测试是简化的,因为您只需传递一些虚拟道具,并确认您得到了正确的结果
  • 更容易推理:子组件不再需要关心其数据来源的实现细节

关于你的性能问题:考虑使用和只更新需要改变的商店的部分。这样,你的图表组件可以很快地告诉你,任何东西都已经改变了,如果没有什么变化,就不会重新渲染。

我会把它们分成单独的代码>商店< /代码>。但是你应该提到的方式应该是B。e好的。你不会重新渲染超过要求的内容。你的每个
子组件都可以有
组件WillReceiveProps()
,如果道具没有更改,你就不需要重新渲染这些组件。如果你作为道具通过,你可以捕获非更改并在
shouldComponentUpdate()期间终止渲染