React实现抽屉组件

简介

本文将会基于react实现简单的抽屉组件功能,当列表页点击时候,会显示抽屉详情。

Drawer.js

抽屉组件,通过父组件传递isOpen状态来开启或关闭抽屉。

export const Drawer = ({isOpen, children}) => {
    const [visible, setVisible] = useState(false);

    useEffect(() => {
        setVisible(isOpen)
    }, [isOpen]);

    return visible ? (
        <div>
            {children}
        </div>
    ) : null
}

App.js

function App() {
    const users = [{
        id: '123',
        name: 'vicyor'
    },
        {
            id: '456',
            name: 'john'
        }]
    return (
        <div className="App">
            {
                users.map(user => {

                     function UserListItem({user}){
                        const [open, setOpen ] = useState(false);
                        return (
                            <div>
                                <span>id:{user.id}</span>
                                <Drawer isOpen={open}><span>username: {user.name}</span></Drawer>
                                <input type='button' onClick={event => {setOpen(!open)}} value={open?'关闭详情':'打开详情'}/>
                            </div>
                        );
                    }
                    return <UserListItem user = {user} key = {user.id}/>
                })
            }
        </div>
    );
}

相关推荐

  1. React实现抽屉组件

    2023-12-30 17:40:03       40 阅读
  2. React - 表单组件实现

    2023-12-30 17:40:03       39 阅读
  3. React 表单组件实现

    2023-12-30 17:40:03       40 阅读
  4. react实现组件通信的案例

    2023-12-30 17:40:03       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-30 17:40:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-30 17:40:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-30 17:40:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-30 17:40:03       20 阅读

热门阅读

  1. mysql 锁 事务 脏读 不可重复读 幻读

    2023-12-30 17:40:03       42 阅读
  2. 二、C#基础语法( 异常处理)

    2023-12-30 17:40:03       36 阅读
  3. CountDownLatch详解以及用法示例

    2023-12-30 17:40:03       34 阅读
  4. ubuntu安装conda

    2023-12-30 17:40:03       43 阅读
  5. ubuntu 编译内核报错

    2023-12-30 17:40:03       33 阅读
  6. 百度编辑器常用设置

    2023-12-30 17:40:03       37 阅读
  7. 工智能基础知识总结--什么是AdaBoost

    2023-12-30 17:40:03       34 阅读
  8. 基于遗传算法的双层规划,基于ga的双层规划

    2023-12-30 17:40:03       44 阅读