【React】漫游式引导

前言

项目中Antd版本较低,升级到有该组件的新版风险过于大,因为考虑到是老项目,不升级为上策(怕出啥幺蛾子),所以抽出为一个内部组件完成需求即可😎~

实践

Tour

复制代码
const Tour = ({
    visible,
    step,
    gap,
}) => {
    const [posInfo, targetElement] = useTarget(
        step.target,
        open = visible,
        gap
    );
    const content = step.content
    return <>
        {visible && <Mask visible={visible} pos={posInfo} />}
        <Popover content={content} trigger="click" open={visible} arrowPointAtCenter>
            <PortalWrapper visible={visible}>
                {() => visible && <div style={{
                    ...(posInfo || CENTER_PLACEHOLDER),
                    position: 'fixed',
                    pointerEvents: 'none',
                }} key={JSON.stringify(posInfo)} />}
            </PortalWrapper>
        </Popover>
    </>
}

效果

相关推荐
AAA程序技术4 分钟前
从 DOM 到屏幕:浏览器渲染管线六步拆解
前端·浏览器
zach5 分钟前
useContext 深入讲解:组件透传、原理与最佳实践
前端
张一凡9311 分钟前
AI 改完代码,人却不知道它改了什么:架构漂移才是真正的成本
前端·后端·agent
sycmancia12 分钟前
Qml——Text元素
java·前端·html
DevChronosands_15 分钟前
浅谈感受之 React 与 Vue 😒
前端
代码猎人17 分钟前
前端怎么掌握模块化
前端
天才熊猫君17 分钟前
前端队列,我是怎么从 `push + shift` 换成游标的
前端·javascript
Qinging18 分钟前
var_let_const
javascript
星_离23 分钟前
《Ajax - 实战基础篇》
前端·ajax
Maxkim29 分钟前
私钥就是数字 4:扒一扒这场把一家 CA 直接送走的事故
javascript·架构