javascript - React渲染拓扑图的性能问题?
阿神
阿神 2017-04-11 11:28:28
[JavaScript讨论组]

从数据库获取节点和链路的数据绘制拓扑图
节点上1000个左右,链路几百条的情况。
绘图是用D3来画的。
项目前端采用了React。

1 我现在的实现方法是
在componentDidMount中获取节点 链路数据,进行数据处理封装到可绘制的数据,然后通过D3的数据绑定添加相应的节点链路和组元素(svg元素)。所有元素的事件绑定操作也都是在componentDidMount中做事件绑定处理。
这样感觉不是很好,至少componentDidMount中的代码量会很多。

2 如果通过React做数据绑定的话 有个担心就是元素内容频繁变动引起state绑定值的频繁更改,频繁render() 会不会导致卡呢(性能问题)。比如说节点拖拽会引起节点坐标的在draging过程中不断更新就会引起节点state上的坐标值不断更改和rerender(),因为拓扑节点链路比较多,这个过程(reRender())性能会不会出现问题呢。

这种场景下,如果采用React的数据绑定会不会出现性能问题呢?
先问下, 自己有空去实践下。

阿神
阿神

闭关修行中......

全部回复(1)
ringa_lee

第一个问题很好解决,如果componentDidMount()里面代码量过多,可以封装成函数再调用。

第二个问题属于及时渲染,对性能上肯定有影响,用react至少可以避免直接对dom做操作,记得国外有一个黑客攻防数据监测网站,我每次在浏览器上打开都会很卡。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号