我正在尝试使用 rxjs(没有 setTimeout())添加工具提示延迟(300ms强调文本)。我的目标是在 TooltipPopover 组件中包含这个逻辑,稍后将被重用,延迟将作为道具传递(如果需要)。
我不确定如何使用 rxjs 在 TooltipPopover 组件中添加“延迟”逻辑?
Portal.js
const Portal = ({ children }) => {
const mount = document.getElementById("portal-root");
const el = document.createElement("div");
useEffect(() => {
mount.appendChild(el);
return () => mount.removeChild(el);
}, [el, mount]);
return createPortal(children, el);
};
export default Portal;
TooltipPopover.js
import React from "react";
const TooltipPopover = ({ delay??? }) => {
return (
<div className="ant-popover-title">Title</div>
<div className="ant-popover-inner-content">{children}</div>
);
};
应用程序.js
const App = () => {
return (
<Portal>
<TooltipPopover>
<div>
Content...
</div>
</TooltipPopover>
</Portal>
);
};
然后,我在不同的地方渲染 TooltipPopover:
ReactDOM.render(<TooltipPopover delay={1000}>
<SomeChildComponent/>
</TooltipPopover>, rootEl)