博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日记(react modal)
阅读量:6417 次
发布时间:2019-06-23

本文共 1542 字,大约阅读时间需要 5 分钟。

场景

页面上控制的modal显示与隐藏,我纠结过两种方式,也问过旁边的小哥,给了我一串听得莫名其妙的回答......

  • 前提: 有一个详情的modal
import React, { Component } from 'react';    import {Modal} from 'antd';    export default Detail extends Component{        render(){            return             
} }复制代码
  • 第一种
import React, { Component } from 'react';    import {Button} from 'antd';    import Detail from './components/detail';    export default Index extends Component{        state = {            modalVisible: false        }        handleModal = () => {            this.setSate{
modalVisible: true} } render(){ return (
{this.state.modalVisible &&
} // 第一种
) } }复制代码
  • 第二种
import React, { Component } from 'react';      import {Button} from 'antd';      import Detail from './components/detail';      export default Index extends Component{        state = {              modalVisible: false        }          handleModal = () => {            this.setSate{
modalVisible: true} } render(){ return (
) } }复制代码

瞎聊

把控制显示隐藏的state放到父组件还是放到reducer中需要具体业务分析。 我开始纠结的是子组件里面到底用那种方法来控制显得比较合理一点,或者两者的区别在哪里。当时问了旁边的小哥,给我的回复是什么根据modal个数之类很神的回复.....

我认为, 第一种是将整个子组件Detail重新加载。第二种方法只是将Detail中的一个state改变了而已。所以,具体用哪种方法,如果我需要用到声明周期函数,我会根据__生命周期__来具体分析使用哪种方法。但是问题来了,如果不涉及声明周期函数,那么是第一种还是第二种,我想这个得根据html css的渲染原理来看,一般情况下modal也不会设计太大的文件样式太复杂的交互,且我现在写的大部分modal都有初始的stat默认值,所以我可能会选择第一种。不过,还是得看应用场景......(手动@大佬谢谢啦)

转载地址:http://clpra.baihongyu.com/

你可能感兴趣的文章
深入理解Lock
查看>>
vim的块选择
查看>>
HTML --块
查看>>
在DLL中获取主进程窗口句柄
查看>>
基于消息队列的双向通信
查看>>
一个不错的loading效果
查看>>
Debian允许root用户登录
查看>>
linux的文件系统
查看>>
上云利器,K8S应用编排设计器之快到极致
查看>>
袋鼠云服务案例系列 | 从DB2到MySQL,某传统金融平台的互联网转型之路
查看>>
RealServer配置脚本
查看>>
九月份技术指标 华为交换机的简单配置
查看>>
python 写json格式字符串到文件
查看>>
分布式文件系统MogileFS
查看>>
电力线通信载波模块
查看>>
linux vim详解
查看>>
Java23种设计模式案例:策略模式(strategy)
查看>>
XML解析之DOM4J
查看>>
图解微服务架构演进
查看>>
SQL PATINDEX 详解
查看>>