portals的使用场景不是很理解

来源:7-18 什么场景需要用React Portals

慕丝1117639

2022-03-16

问题一:请问为什么一定需要设置了postion:fixed的组件,就需要在body的第一层呢?如果不这样做,会造成什么影响?做了有什么优化呢
问题二:在父组件的中子组件想要渲染出来,为什么不将子组件定义在父组件的上层组件中。
问题三:能不能将一个实际的例子,什么情况下下会使用portals。视频里讲的: 父组件设置了overflow:hidden;父组件的z-index太小,设置了fixed元素,这三种情况下可能会使用,但是想象不到这种场景,能不能大概描述一下场景。直接抛出三种情况,有点接受不了。谢谢

写回答

3回答

双越

2022-03-17

例如全局的蒙层、弹框,这些如果在子组件的内部,其实并不合理,使用 Portals 移动到 body 下,就很合理了。

1
0

薛定谔的猫11

2024-03-17

其实可以类比下antd 的Modal组件使用场景,Modal组件就是用react的portals实现的

0
0

要啥要啥自行车

2022-06-29

我看了 Vue3 里 teleport 的文档,可能会对你有所帮助

Teleport | Vue.js

有时组件模板的一部分逻辑上属于该组件,而从技术角度来看,最好将模板的这一部分移动到 DOM 中 Vue app 之外的其他位置。

一个常见的场景是创建一个包含全屏模式的组件。在大多数情况下,你希望模态框的逻辑存在于组件中,但是模态框的快速定位就很难通过 CSS 来解决,或者需要更改组件组合。

0
0

前端框架及项目面试 聚焦Vue3/React/Webpack

面向1-3年前端的框架及项目面试“刚需内容”

4695 学习 · 1667 问题

查看课程