如何在react中隐藏和显示div

2024-01-08

嗨,我是 ReactJS 的新手,我想学习如何在按钮单击时隐藏和显示 div。这是我想隐藏的视图部分

<div className="comment_usr_details">
    <div>
        <img className="comment_usr_pic" src={profilePicture} alt=""/>
    </div>
    <div className="b">
        <p className="c">John Smith</p>
        <p className="d">1 minutes ago</p>
    </div>
    <img className="e" src={downarrow} alt=""/>
</div>

典型方式

最常见的模式是根据状态选择性地渲染元素。

class Foo extends React.Component {

    state = { showing: true };

    render() {
        const { showing } = this.state;
        return (
            <div>
                <button onClick={() => this.setState({ showing: !showing })}>toggle</button>
                { showing 
                    ? <div>This is visible</div>
                    : null
                }
            </div>  
        )
    }
}

选择

您还可以使用基于状态的样式。这种情况不太常见,但当您在该 div 内有复杂的组件时可能会很有用 - 最近的一个例子,我在可切换组件内有一个复杂的非 React D3 图形,最初,我使用了上面的第一种方法,但引起了相当大的影响打开/关闭 div 时有点滞后,因为 D3 再次循环。

通常使用第一种方法,除非您有理由使用替代方法。

class Foo extends React.Component {

    state = { showing: true };

    render() {
        const { showing } = this.state;
        return (
            <div>
                <button onClick={() => this.setState({ showing: !showing })}>toggle</button>
                <div style={{ display: (showing ? 'block' : 'none') }}>This is visible</div>
            </div>  
        )
    }
}

Note

我用?:三元运算符代替&&- 我坚信使用&&依靠该运算符的副作用来实现特定结果。它是有效的,不要误会我的意思,但在我看来,三元运算符更具表现力,并且被设计为条件运算符。

最后一点只是我的意见 - 所以我不会质疑使用&&.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在react中隐藏和显示div 的相关文章

  • 如果没有“new”,则无法调用类构造函数

    感谢这个问题已经被问过几次了 但是我遇到的几乎所有情况都是有人试图扩展非本地类的情况 我的情况有所不同 我有一个非常简单的基类 名为CObject如下 export class CObject extends BaseObject cons
  • Eslint 从另一个文件确定全局变量

    我试图以这样的方式设置 ESLint 使其在对实际目标文件进行 linting 之前解析全局声明文件 这样我就不必将所有确实是全局的函数和变量声明为全局 而是让解析器弄清楚 In 一些 模块 js function do something
  • 使用 Firefox 插件 sdk 的 nsISocketTransportService

    我正在尝试使用 Firefox 来读取 SSH 横幅 IE 当您最初连接到 SSH 服务器时 服务器会向您发送其横幅 标识服务器软件 并且您向 SSH 服务器发送您的横幅 标识您的客户端软件 为此 我使用以下 URL 中的示例 firefo
  • JQuery datepickers-从开始日期设置结束日期

    使用了两个 Jquery 日期选择器 StartDate 和 EndDate
  • 如何使 d3 饼图响应式?

    我有一个 PIE 图表 它工作正常 但我无法使其具有响应能力和可调整大小 我需要它与移动浏览器和 iPad 等兼容 div div
  • 在javascript中访问函数内的实例变量?

    如何以最简单的方式访问函数内的实例变量 function MyObject Instance variables this handler Methods this enableHandler function var button doc
  • JavaScript 将键添加到数组中的每个值

    我下面有这个数组 它由一个简单的数组组成 我想要完成的是放一把钥匙id在每个数组值前面以实现类似的效果 id a id b id c id d 有没有一种简单的方法可以做到这一点 任何帮助将不胜感激 谢谢 var test a b c d
  • 检索 css3 缩放元素的宽度/高度

    我正在与 offsetWidth 属性的奇怪之处 我认为 作斗争 这是场景 比方说 我有一个span标签 在我的js中 在某个时刻我执行css3转换 对于这个元素 例如 el set styles transform scale scale
  • 使用 JQuery 禁用和启用所有超链接

    我有以下禁用所有超链接的内容 但在事件发生后我想再次启用它们 我该如何执行此操作 a click function return false 我认为这不仅仅是将其设置为 true 那么简单 谢谢大家 不要以这种方式绑定 点击 处理程序 而是
  • 如何仅显示/隐藏此 bootstrapvue 表的第二列和第三列?

    下面的代码将显示 隐藏 a 中的所有列BootstrapVue桌子 代码的来源就是这里的答案 使用 bootstrap vue 组件和 bootstrap 3 动态显示 隐藏列 https stackoverflow com questio
  • webpack中动态加载外部模块失败

    我正在尝试建立以下架构 一个核心 React 应用程序 它具有一些基本功能 并且能够在运行时加载其他 React 组件 这些额外的 React 组件可以按需加载 并且它们在构建核心应用程序时不可用 因此它们不能包含在核心应用程序的捆绑包中
  • Web组件中嵌套槽的内容不可见

    我有一个 Web 组件 它应该接受任意元素来包装其内容 虽然我可以在 Chrome 开发工具中看到插槽已正确分配 但 DOM 中什么也没有出现 以前有人见过这个问题吗 定义 class ExampleParent extends HTMLE
  • Service Worker 与 Shared Worker

    Service Worker 和 Shared Worker 有什么区别 我什么时候应该使用 Service Worker 而不是 Shared Worker 反之亦然 Service Worker 具有共享 Worker 之外的附加功能
  • PDF 在 Safari 中隐藏 Jquery Modal

    这是与我有关的事情this https stackoverflow com questions 24052681 pdf hide jquery modal in ie问题 在 IE 中 我在对话框中使用 iframe 解决了问题 所以它工
  • ThreeJS 中阴影的奇怪行为

    所以我有一个 ThreeJS 场景 并且添加了一些球体 多材质 我还添加了定向光 this light new THREE DirectionalLight 0xFFFFFF 1 this light position set 2 10 2
  • 在 React 中将模板分离到外部文件

    我正在为客户开发 ReactJS 应用程序 我希望客户端能够自定义应用程序中的一些配置和模板 所以我创建了一个config js file window APP CONFIG url example com template item di
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒
  • 确定 Javascript 中的日期相等性

    我需要找出用户在 Javascript 中选择的两个日期是否相同 日期以字符串 xx xx xxxx 形式传递给该函数 这就是我需要的全部粒度 这是我的代码 var valid true var d1 new Date datein val
  • Chrome 扩展:强制 popup.html 关闭

    我想知道是否可以强制 popup html 关闭 在弹出的 javascript 中 window close
  • 如何映射轮播的子项数组?

    我正在尝试将 Carousel 组件包装在映射对象数组周围作为组件的子级 目前我只能让映射创建映射对象的 1 个子对象 轮播需要像这样

随机推荐

  • mariadb 服务器:我无法使用“mysql.server stop”停止服务器

    操作系统 10 13 6 几年前我用 homebrew 安装了 mariadb 服务器 但我很少使用它 今天 我尝试使用以下命令启动 mariadb mysql server start 我遇到了很多错误 所以我做了 brew update
  • 初始化参考

    虽然我以为我明白了rvalue and lvalue对于 C 中的语义 我似乎一次又一次地陷入奇怪的例子中 这些例子向我证明我不知道蹲下 然而 有两个非常简单和基本的 我不明白它们是如何工作的 在我编译它们之前 我认为没有一个是可以的 在我
  • 在 shell 脚本中将带引号的参数传递给 C 程序

    我有一个 C 程序 main 它获取以下参数 abc d e f g 由于引用 总共有 4 个参数 我有一个文本文件 每行都有这 4 个参数 我制作了一个 shell 脚本来为每个参数运行 C 程序 bin bash while read
  • Bootstrap 网格拉/推行

    我有一个响应式引导网格 我希望根据设备宽度以不同的顺序显示它 sm 或更低 1 2 3 4 5 6 7 MD 或更高 2 4 6 1 3 5 7
  • Excel宏重复IF和Else

    我目前正在编写一个 Excel VBA 宏脚本 其中将对活动单元格进行简单的 TRUE 或 False 测试 我的问题是 直到列表末尾我才能使其正常工作 它只运行一次并结束程序 我需要这个 VB 脚本来执行 IF ELSE 测试 直到列表底
  • ASM-创建过程[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 设置了阵列A和阵列B 该过程将获取值
  • 如何在 Yocto bitbake 编译步骤中剥离和 objcopy 构建的 .so 文件?

    这个问题源于 我是否需要编辑在 Yocto 中构建 mdns 878 200 35 所需的 patch 文件 https stackoverflow com questions 66400231 do i need to edit the
  • 谷歌怎么能这么快?

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 哪些技术和编程决策使 Google 能够如此快速地提供查询服务 每次我搜索某些内容 每天搜索几
  • 使用 Volley 进行令牌认证

    如果我有一个服务器 我可以使用用户名 密码进行身份验证并为后续请求获取身份验证令牌 那么解决此问题的最佳方法是什么 流程应该是这样的 开始请求 如果我们没有身份验证令牌 使用用户名和密码获取它 使用身份验证令牌发出请求 如果请求因令牌过期而
  • 如何杀死一个进程?

    我有两个活动 第一个活动由启动器启动 第二个活动由第一个活动启动 当我杀死process从第一个活动开始 该进程就被终止 但是 当我从第二个活动中杀死它时 系统将立即启动一个新进程和第一个活动 进程的PID改变了 我怎样才能干净利落地完成呢
  • Yii2 URL 映射后缀

    我在 Yii2 中有一些模拟的 URL 映射 urlManager gt enablePrettyUrl gt true showScriptName gt false rules gt pattern gt pages route gt
  • 以 Observables 作为默认值的 Angular 2 Formbuilder

    我对 Angular 2 Form formbuilder 的默认值有疑问 我的默认值是可观察的 我从服务器检索 所以我不能像这样实现它们 export class UserComponent implements OnInit userF
  • Visual Studio 2010 中 Javascript 中的区域/代码崩溃

    是否可以在 Visual Studio 2010 中的 JS 文件中创建代码区域 这个方法 https stackoverflow com questions 1921628 how to implement regions code co
  • 创建流以从Python中的字符串进行迭代

    我想在 Python 中从字符串创建一个流 这样就相当于读取字符串 就像从文本文件中读取字符串一样 就像是 for line in open myfile txt print line 除了 myfile txt 的内容存储在字符串中s 这
  • 在 Rails ActiveRecord 中,连接不适用于命名空间模型中的 has_and_belongs_to_many

    我在命名空间中有两个模型 一个服务和一个讲师 两者之间具有多对多关系 通过 has and belongs to many 定义 class Scheduling Service lt ActiveRecord Base has and b
  • 调整 JPanel 的大小以准备打印,而无需将其从原始位置移开

    在我的程序中 我经常需要打印各种 JComponent 通常是 JPanel 并且我喜欢它们是整页的 我现在的方法是使用以下代码 g2d scale pf getImageableWidth componentToPrint getWidt
  • 如何强制更新不同堆栈帧的 Python locals() 字典?

    在Python 2 不确定3 中 locals 字典仅在您实际调用 locals 时才会更新 所以例如 l locals x 2 l x 失败是因为l里面没有键 x 但是 l locals x 2 locals l x 返回 2 我正在寻找
  • 如何检查Web服务器是否启动? (C#)

    我正在构建一个监控应用程序来持续监控系统的各个方面 我本来希望使用Ping 函数来确定服务器是否已启动 但MSDN 文档 http msdn microsoft com en us library system net networkinf
  • 为 VB.net 启用Cors

    有谁知道如何将enableCors放入vb net上的控制器中 我正在参加一个pluralsight课程 并尝试了代码翻译器 但没有成功 我的尝试如下
  • 如何在react中隐藏和显示div

    嗨 我是 ReactJS 的新手 我想学习如何在按钮单击时隐藏和显示 div 这是我想隐藏的视图部分 div div img src profilePicture alt div div p John Smith p p 1 minutes