### 这个特性解决了什么问题? 一些组件更适用于适用createPortal在其他节点生成 ### 这个 API ### 长什么样? createPortal(<></>, otherNode) <!-- generated by taro-issues. 请勿修改或删除此行注释 --><!--labels=enhancement-->
Activity
tourze commentedon Dec 10, 2020
+1。参考 remaxjs/remax#1046
sengmitnick commentedon Jul 29, 2021
+1。
stillyu commentedon Aug 4, 2021
+1
Jkanon commentedon Oct 30, 2021
请问有计划支持吗 @Chen-jj
tourze commentedon Nov 3, 2021
+1
sedationh commentedon Jan 9, 2022
+1
busy-dog commentedon Mar 19, 2022
+1
pandajk commentedon Apr 28, 2022
所以现在是怎样,实现了吗,有计划吗
dtdths commentedon May 25, 2022
目前是自己实现了一个,原理就是每个页面包一个container,然后通过useReducer、createContext将portal组件包裹的内容渲染到container里
bylevel commentedon Sep 27, 2022
我参考 ant-design-mobile 的 https://github.com/ant-design/ant-design-mobile-rn/tree/4344e2850727a3fa1c1f7691f362438e2a3a6bfc/components/portal 实现了一个 Portal 组件。
Portal.tsx
PortalSlot.tsx
PortalProvider.tsx
在页面的外层添加 PortalProvider,在指定挂载的位置放置 PortalSlot,然后就可以在 Modal 之类的组件里面使用 Portal 组件包装,实现在指定的 dom 位置渲染。
tourze commentedon Oct 20, 2022
有个疑惑,Portal.Provider挂到app.js中的render可以的吗
AdvancedCat commentedon Apr 6, 2023
Taro 已具备
createPortal
的能力,示例如下:其中,
dom
必须是TaroElement
的实例。同时,微信小程序也提供了
root-portal
组件,原生支持了 Portal 的能力。在 Taro 中使用如下:lupingW commentedon Aug 14, 2023
依赖createPortal实现root-portal
uyoungco commentedon Aug 17, 2023
请问这种方式小程序支持吗
lupingW commentedon Aug 17, 2023
只要是支持Taro的小程序都支持, 他操作的是react的虚拟dom
uyoungco commentedon Aug 17, 2023
啥也不说了,大哥牛逼
feat(react): ✨ use Portal