首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >反应更糟糕的实践:更胖的状态还是DOM操作?

反应更糟糕的实践:更胖的状态还是DOM操作?
EN

Stack Overflow用户
提问于 2019-07-05 22:48:04
回答 1查看 42关注 0票数 0

我有一个<svg />元素,我在其中呈现了几个通过useState()存储的<g /><circle />。通过直接通过append(), removeChild, insertBefore(), etc.修改DOM,可以将<line />添加到<svg />或从DOM中删除

因为在React中你不应该直接改变DOM,我想知道是否应该切换到用useState()存储<lines />并以这种方式呈现它们(再一次,就像我已经用我的<g /><circles />一样)。然而,这会增加存储和管理的状态数量,根据React最佳实践(?)。

顺便说一句,到目前为止,我一直没有在状态中存储<line />,因为根据它们的ids,我可以查询DOM并计算元素之间的关系。这是因为我被告知要保持最低限度的状态。然而,将<lines />存储在状态中的一个潜在优势是,计算关系的代码逻辑可能会更简单。

因此,本质上的问题是(A)使状态变胖(以及可能更容易的关系查找),但避免直接DOM操作与(B)保持较小的状态,但直接修改DOM。

EN

回答 1

Stack Overflow用户

发布于 2019-07-06 23:14:06

在我看来,React并不完全适合使用SVG。但是,您可以在React应用程序中使用D3库。这是一个example

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56905257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档