Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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
如果我使用D3.js进行中度复杂的用户交互相关数据可视化,我应该选择React还是Angular2?_D3.js_Reactjs_Angular - Fatal编程技术网

如果我使用D3.js进行中度复杂的用户交互相关数据可视化,我应该选择React还是Angular2?

如果我使用D3.js进行中度复杂的用户交互相关数据可视化,我应该选择React还是Angular2?,d3.js,reactjs,angular,D3.js,Reactjs,Angular,全部: 我在这里遇到了一些决策难题,作为初学者,我说我需要用D3构建一个数据可视化应用程序,我有点想知道应该使用哪个库来处理这些图表绘制。它有点复杂,有很多用户操作,比如添加/删除/移动/样式/动画等,目前该应用程序是由Angular1实现的,没有模块化,而且当数据增长时,图表绘制也会滞后。这就是为什么我在考虑转换 现在,我对Angular2和React都没有太多的经验,但我听说它们的性能都很好,所以在代码复杂性和性能方面,有人能给我一些具体的建议吗 谢谢我们目前有一个使用ReactJS和D3图

全部:

我在这里遇到了一些决策难题,作为初学者,我说我需要用D3构建一个数据可视化应用程序,我有点想知道应该使用哪个库来处理这些图表绘制。它有点复杂,有很多用户操作,比如添加/删除/移动/样式/动画等,目前该应用程序是由Angular1实现的,没有模块化,而且当数据增长时,图表绘制也会滞后。这就是为什么我在考虑转换

现在,我对Angular2和React都没有太多的经验,但我听说它们的性能都很好,所以在代码复杂性和性能方面,有人能给我一些具体的建议吗


谢谢

我们目前有一个使用ReactJS和D3图表的大型javascript应用程序

它的性能相当好,尽管我们有一个幸运的优势,即不必支持移动设备,因为它是一个企业应用程序

我想说的一件事是要注意Reacts shouldComponentUpdate方法,并对容器使用ImmutableJS。我们还实现了flux和WebSocket API,但如果您是新手,我会尝试得到一个非常简单的d3图表,比如sankey,然后继续工作

当您实际到达作为d3图表的叶节点时,您可以将不可变的数据类型转换为本机对象,但只将其传递给d3

它工作完全正常,但我不会在d3中管理任何类型的状态,小心不要落入那个陷阱。您希望将单击等事件附加到d3节点,但您的React组件应该处理这些事件,而不是d3


希望有帮助。

我也使用了d3和react。他们在一起玩得非常好,特别是因为d3也在npm上,并且很好地适合react使用的编译jsx所需的绑定器。我看不出有什么坏处。事实上,它完全是在react和d3js中构建的,并且使用web音频api将数据流传输到不同的d3数据可视化中,所以不要在safari中查看,除非你想感到无聊

我在项目中使用过angular1,对它的大部分方面都很满意。我认为它对我来说唯一不足的地方是在大型ng重复映射上。如果前端的设计考虑到了用户的需要,就不太可能会遇到大的ng重复问题,但我可能会避免任何无限滚动的情况,因为将所有这些元素留在dom中的后果可能会导致angular的dom渲染周期出现重大问题

我认为Angular让我有点失望,只是因为它似乎在平衡中悬了这么久。Angular2在很多方面都是完全重写的,所以现在学习angular1可能会给你带来更多的成长烦恼,因为你显然想要升级。上一次我尝试使用Angular2时,学习Angular2令人沮丧,因为他们没有发布任何文档,并且仍然建议对任何非实验性的东西使用Angular2时要格外小心。现在它们已经进入测试阶段,学习起来似乎很安全。如果你觉得自己很勇敢,或者你只是在尝试和喜爱angular1,那么angular2对你来说是个不错的选择。适合您的工具应该是您真正喜欢使用的工具,而且两个项目都有优秀的支持文档和社区,因此无论哪种方式都是安全的


如果由我决定,我会坚持下去。围绕它构建了一个大型社区,框架非常简单。它的简单性才是真正让它发光的地方。它以正确的方式培训您收集、分发和更新数据,以影响所有组件的状态。如果您勇敢且技术娴熟,我建议您也深入研究flux框架,因为它相当复杂,但可以让您看到当一组复杂的数据存储和操作通知您时,这样一个简单的组件体系结构可以做得多好。从概念上讲,这对我很有启发,它告诉了我现在编写的所有代码。我的rails最近甚至变得很流畅,哈哈>

你得到了反对票,因为这样的问题是不鼓励的。另见@GünterZöchbauer谢谢,没关系,你不需要告诉我原因。人是不同的,有人会觉得这很鼓舞人心。谢谢,这对我来说是个好消息,但是你能给我看一把小提琴来展示你是如何建立一个带有日期轴的折线图并启用用户交互的,比如:当用户根据线区域悬停时,线上的数据点将显示一个工具提示气泡,当更改数据集时,线条将过渡到具有动画效果的数据显示?谢谢,这对我来说是个好消息,但你能给我看一把小提琴,演示如何用日期轴构建线条图并启用用户交互,例如:当用户根据线条区域悬停时,数据点在
e行将显示工具提示气泡,当更改数据集时,该行将转换为具有动画效果的数据表示?哇,听起来很有趣!不幸的是,我目前无法参加这样一个复杂的演示,但今晚我将再次访问此帖子,看看我能做些什么来帮助您那很好。无论如何,谢谢你。