React实现pc端的弹出框效果

 更新时间:2022年08月25日 15:53:05   作者:yunchong_zhao  
这篇文章主要为大家详细介绍了React实现pc端的弹出框效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了React实现pc端弹出框效果的具体代码,供大家参考,具体内容如下

最近学习react碰见了一个小坑 不知道为什么 我在做一个弹出框的小demo

很简单的一个小demo 就是桌面上一个按钮点击 出现一个弹出框 弹出框下面有一个遮罩层

1.我们现在src文件夹 下建立一个 Dialog 组件

import React,{Component} from 'react' 
import '../dialog.css'
export default class Dialog extends Component {
    constructor(props){
       super(props);
       this.state={}
    }
    render(){
        return (
            <div className="mask" style={{display:this.props.display}}>
                <div className="content">
                    <button onClick={this.props.hide}>&times;</button>
                </div>
            </div>
        );
    }
}

2.然后就是css样式

.mask{
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    right: 0;
    background-color: #000;
    opacity: 0.4;
    color:#f00;
}
.content{
    position: fixed;
    height: 300px;
    width: 300px;
    left: 50%;
    top:50%;
    background-color: #fff;
    transform: translate(-50%,-50%);
}

3.再然后就是index.js的入口文件

import  React,{Component } from 'react'
import ReactDOM from 'react-dom'
import Dialog from './components/Dailog';
import './index.css'
class Parent extends Component {
    constructor(props){
        super(props);
        this.state={display:'block'};
        this.tan=this.tan.bind(this);
        this.hide=this.hide.bind(this);
    }

    tan(){
        console.log(this);
        this.setState({display:'block'})
    }

    hide(){
        this.setState({display:'none'})
    }

    render(){
        return (
            <div>
               // 就是这里 不知道为什么我一把组件放到按钮下面  遮罩层 就不会覆盖掉按钮 很奇怪
                <Dialog display={this.state.display} hide={this.hide} />
                <button onClick={this.tan}>弹出</button>
            </div>
        );
    }
}
ReactDOM.render(<div><Parent /></div>,document.getElementById('root'))

在react中 子类调用父类的方法 是父类在子组件上面 绑定 方法然后在子组件中调用

<Dialog display={this.state.display} hide={this.hide} />  // 父类 通过props传递过去
 <button onClick={this.props.hide}>&times;</button>   // 子类调用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 使用React hook实现remember me功能

    使用React hook实现remember me功能

    相信大家在使用 React 写页面的时候都遇到过完成 Remember me 的需求吧!本文就将这个需求封装在一个 React hook 中以供后续的使用,觉得有用的同学可以收藏起来以备不时之需,感兴趣的小伙伴跟着小编一起来看看吧
    2024-04-04
  • React鼠标多选功能的配置方法

    React鼠标多选功能的配置方法

    本文给大家分享React鼠标多选功能,通过导入组件直接包裹已经设计好的列表即可,操作简单方便,对React鼠标多选相关知识感兴趣的朋友一起看看吧
    2021-05-05
  • 使用React制作一个贪吃蛇游戏的代码详解

    使用React制作一个贪吃蛇游戏的代码详解

    Snake Game 使用 ReactJS 项目实现功能组件并相应地管理状态,开发的游戏允许用户使用箭头键控制蛇或触摸屏幕上显示的按钮来收集食物并增长长度,本文给大家详细讲解了如何使用 React 制作一个贪吃蛇游戏,需要的朋友可以参考下
    2023-11-11
  • 详解Ant Design of React的安装和使用方法

    详解Ant Design of React的安装和使用方法

    这篇文章主要介绍了详解Ant Design of React的安装和使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • React实现多标签在有限空间内展示

    React实现多标签在有限空间内展示

    在业务中,需要在一个卡片组件中展示多个标签,标签组件高度相同,宽度和出现顺序不同,要求标签只能在有限的空间内展示,所以本文给大家介绍了React实现多标签在有限空间内展示,需要的朋友可以参考下
    2023-12-12
  • React移动端项目之pdf预览问题

    React移动端项目之pdf预览问题

    这篇文章主要介绍了React移动端项目之pdf预览问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • React捕获并处理异常的方式

    React捕获并处理异常的方式

    这篇文章主要给大家介绍了React优雅的捕获并处理渲染异常方式,文章通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-11-11
  • React实现组件之间状态共享的几种方法

    React实现组件之间状态共享的几种方法

    在开发现代Web应用时,管理组件之间的状态共享是一个重要的课题,特别是在使用React这个流行的前端库时,如何有效地在不同组件之间传递状态,确保应用的响应性和可维护性,是我们需要掌握的关键技能,在本文中,我们将探讨几种有效的状态共享策略,需要的朋友可以参考下
    2025-02-02
  • react在安卓中输入框被手机键盘遮挡问题的解决方法

    react在安卓中输入框被手机键盘遮挡问题的解决方法

    这篇文章主要给大家介绍了关于react在安卓中输入框被手机键盘遮挡问题的解决方法,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-09-09
  • react项目中使用react-dnd实现列表的拖拽排序功能

    react项目中使用react-dnd实现列表的拖拽排序功能

    这篇文章主要介绍了react项目中使用react-dnd实现列表的拖拽排序,本文结合实例代码讲解react-dnd是如何实现,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02

最新评论