- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
const ref = useRef(null);
return (
<>
{ref.current !== null &&
createPortal(<span>Hello!</span>, ref.current as any)}
<div ref={ref}></div>
</>
);
据我了解门户网站,span
应该附加到 div
,但事实并非如此。
为什么会这样?
最佳答案
对 refs 的更改不会触发更新(重新渲染)。我的猜测是您的组件只渲染一次,设置了 ref.current
,但没有重新渲染,所以您看不到 span
。
对于这种情况,您最好使用 callback ref :
const onRef = element => {
if (element !== null) {
createPortal(<span>Hello!</span>, element);
}
};
return <div ref={onRef}></div>;
关于reactjs - 使用 useRef react createPortal 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59514598/
错误: TypeError: __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.createPortal is not a function Moda
const ref = useRef(null); return ( <> {ref.current !== null && createPortal(Hell
所以我正在使用 ReactDOM.createPortal 在其正常 DOM 放置之外呈现元素。我必须这样做,因为我正在与创建它自己的元素(在我的范围之外)的库进行交互,并且我必须将我的 DOM 元素
我正在使用 React 16 并需要门户,但无法找到有关此功能的任何文档。有谁知道如何使用这个吗? https://github.com/facebook/react/pull/10675 感谢您的建
为了清楚起见,假设我有 3 个组件:, , 我正在尝试渲染 在 内, 没有渲染 (从中调用 )。 parent.js class Parent extends Component { ...
我正在开发一个 React 应用程序并尝试使用 ReactDOM.createPortal()将 html 内容添加到组件外部的 div(称为 ToDoItem)。 {ReactDOM.createP
我正在尝试获取 ReactDOM.createPortal要覆盖容器的内容,我也正在安装它。但是它似乎附加了Child。 是否可以覆盖内容?类似于 ReactDOM.render ? 这是我的代码:
我明白 it's probably a bad idea至 ReactDOM.render()进入 document.body。但是使用 ReactDOM.createPortal() 有什么问题吗?
我一直在绞尽脑汁试图弄清楚如何完成一些我认为很简单的事情(我知道......) 目标是获得一个非常最小和可重用的模态组件,我可以使用触发按钮或w/e在某种HOC中为其设置动画。 我正在使用 creat
新手在这里 react 。 TLDR:我有一个名为 createNotification 的辅助函数当调用时会插入 组件进入 container使用 render() 的元素。如果我使用 create
我使用 React 钩子(Hook)创建了一个应用程序。我有一个辅助函数 onClickOutsideHook(ref, callback)触发 callback当您在提供 ref 的组件外部单击时使
我的 React 应用程序中有这样的代码: import React from 'react'; import ReactDOM from 'react-dom'; import ComponentB
我正在尝试使用 slate-react 制作一个编辑器。我制作了悬停菜单,但 Next.js 渲染存在样式问题。所以我尝试在 Next.js 的默认 ID __next 下使用 React creat
我有一个组件,我在其中渲染了一些按钮。每个按钮都应该有它的工具提示。我想让工具提示在我 :hover 按钮时出现。但是因为我的工具提示不仅可以包含文本,所以我不能使用气球之类的东西,也不能只用 css
我是一名优秀的程序员,十分优秀!