【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>
    </>
}

效果

相关推荐
vx-程序开发7 小时前
springboot农产品运输服务平台---附源码75498
java·javascript·spring boot·python·eclipse·django·php
独隅7 小时前
前端离线暂停更新策略:Service Worker 与 PWA 的静默控制实践
前端
妙码生花7 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(五十八):后台系统配置管理实现
前端·后端·go
用户938515635078 小时前
React 受控/非受控组件与 React.memo 性能优化——从本质到实战
前端·javascript·react.js
IT_陈寒8 小时前
Java并行流把我坑惨了:原来不是线程安全的!
前端·人工智能·后端
计科土狗8 小时前
GESP六级专题之类与对象
java·前端·数据库
anOnion8 小时前
构建无障碍组件之Listbox Pattern
前端·html·交互设计
凌涘8 小时前
前端路由(三):鉴权、拦截与重定向
前端
其美杰布-富贵-李9 小时前
第 8 篇:Three.js 材质系统
javascript·three.js·js