javascript - React - createPortal 或 appendChild 的仅附加行为?
问题描述
我有大量元素由一个共同的父级呈现。当用户采取行动时,应该删除一些元素,并附加一些额外的元素。以“React 方式”执行此操作,父级有一个数组,该数组拥有所有子级元素的状态。在用户单击时,父级不变地修改数组,瞧……DOM 中的新元素。问题在于,由于必须比较页面上的每个元素,即使使用元素键和记忆,它通常也会很缓慢。我一直在与 React 的差异算法作斗争,以使这项工作有效地进行。理想情况下,这个父组件将仅负责添加新的子组件……一旦它们被引导,它们将控制自己的状态。
我刚刚阅读了有关Portals的内容,并试图了解是否ReactDOM. createPortal(<Child />, document.getElementById('myFavoriteDiv'))
允许这种仅附加行为而不改变任何先前渲染的子项。我认为这样做的非声明性方式是 appendChild,但我认为这是不受欢迎的。如果这不起作用,您会建议什么替代方案?
解决方案
推荐阅读
- php - 从一长串 LCID 中创建一个数组
- php - 将 Zoom 与 Codeigniter (curl) 连接起来
- reactjs - React Native 如何使用 Jest 测试动画
- angular - 只允许选中一个复选框并获取选中的值
- javascript - 如何在不加载 js 的情况下获得音频的持续时间
- react-native - React Native,Native Modules 返回空对象 - {}
- javascript - 如何使用 querySelector 查找具有给定属性的多个可能值的元素?
- php - Wordpress 中的多个帖子循环
- java - Mockito 单元测试:参数匹配器的无效使用
- python - 如何在while循环中获取excel特定单元格的值