首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在点击时隐藏另一个div?在react js中一次只能显示一个div

在React.js中,可以使用条件渲染来实现在点击时隐藏另一个div并一次只显示一个div的效果。具体步骤如下:

  1. 创建一个React组件,包含两个div,即要显示和隐藏的div。
  2. 在组件的state中添加一个布尔类型的变量,用于控制两个div的显示与隐藏。例如,命名为isDivVisible,初始值为true。
  3. 在要隐藏的div上添加一个事件处理函数,例如onClick事件。在事件处理函数中,调用setState方法更新isDivVisible的值为false。
  4. 在要显示的div上添加一个事件处理函数,也是onClick事件。在事件处理函数中,调用setState方法更新isDivVisible的值为true。
  5. 使用条件渲染,根据isDivVisible的值来决定渲染哪一个div。例如,使用{isDivVisible ? <要显示的div /> : <要隐藏的div />}的形式来渲染div。

下面是一个示例代码:

代码语言:txt
复制
import React, { useState } from "react";

const MyComponent = () => {
  const [isDivVisible, setDivVisible] = useState(true);

  const hideDiv = () => {
    setDivVisible(false);
  };

  const showDiv = () => {
    setDivVisible(true);
  };

  return (
    <div>
      {isDivVisible ? (
        <div onClick={hideDiv}>要显示的div</div>
      ) : (
        <div onClick={showDiv}>要隐藏的div</div>
      )}
    </div>
  );
};

export default MyComponent;

在上述代码中,根据isDivVisible的值来决定渲染要显示的div还是要隐藏的div。点击要隐藏的div时,调用hideDiv函数将isDivVisible的值更新为false,从而渲染要显示的div;点击要显示的div时,调用showDiv函数将isDivVisible的值更新为true,从而渲染要隐藏的div。这样就实现了在点击时隐藏另一个div,并且一次只显示一个div的效果。

腾讯云相关产品和产品介绍链接地址请参考腾讯云官方网站。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

React学习(六)-React中组件的数据-state

,显示隐藏的效果开始: 效果如下所示: 连续点击按钮,上方的itclanCoder文本显示隐藏进行切换,当状态为true,itclanCoder文本显示,状态为false,itclanCoder...),来达到控制组件state中的isShow这个状态,从而让文本显示还是隐藏 显示隐藏是通过添加class层叠样式进行设置,但是控制这个行为切换动作的,却是js 这里用的是箭头函数,如果不用此方法,一定要记得用...,页面不会有任何反应,打开控制台,会有一个警告提示 不要直接的更改state的值,当你点击减号,你会发现计数发生阶跃性变化,比如初始计数值是0的情况下,在你连续点击加按钮三,计数值没有发生任何变化...,它是当前组件的一个私有变量.用于记录组件内部状态的,如果组件中的一些数据某些时刻发生变化,或者做一些页面逻辑交互,需要更新UI,这个时候就需要使用state来跟踪状态(例如控制一元素的显示隐藏来回切换等状态...的值,并且定义state,它只能一个对象,用于存储组件内部特殊的状态 并且大篇幅的讲到setState这个函数需要知道的,可接收两种类型的参数,一个是对象,另一个是函数,以及这两种方式的区别,如何划分组件的状态数据

3.6K20
  • React基础(6)-React中组件的数据-state

    ,显示隐藏的效果开始: 效果如下所示: 连续点击按钮,上方的itclanCoder文本显示隐藏进行切换,当状态为true,itclanCoder文本显示,状态为false,itclanCoder...文本隐藏,注意控制台调试器 [(点击按钮实现上方文本显示隐藏的切换效果)] 具体代码如下所示: import React, { Fragment, Component } from 'react'; import...),来达到控制组件state中的isShow这个状态,从而让文本显示还是隐藏 显示隐藏是通过添加class层叠样式进行设置,但是控制这个行为切换动作的,却是js 这里用的是箭头函数,如果不用此方法,一定要记得用...,页面不会有任何反应,打开控制台,会有一个警告提示 不要直接的更改state的值,当你点击减号,你会发现计数发生阶跃性变化,比如初始计数值是0的情况下,在你连续点击加按钮三,计数值没有发生任何变化...,它是当前组件的一个私有变量.用于记录组件内部状态的,如果组件中的一些数据某些时刻发生变化,或者做一些页面逻辑交互,需要更新UI,这个时候就需要使用state来跟踪状态(例如控制一元素的显示隐藏来回切换等状态

    6.1K00

    何在 React点击显示隐藏另一个组件?

    React 是一种流行的 JavaScript 库,用于构建动态用户界面。一个 React 应用程序中,有时需要一个按钮或链接来触发显示隐藏一个相关的组件。...这种需求可以通过使用 React 状态管理和事件处理机制来实现。本文中,我们将介绍如何使用 React 来实现点击显示隐藏另一个组件。...useEffect 钩子组件挂载注册事件监听器,并在卸载删除它们,以避免内存泄漏。显示/隐藏模态框我们可以使用事件处理函数来触发模态对话框的显示隐藏。...当用户单击关闭按钮,我们将可见性设置为 false,模态对话框将被隐藏。小结在本文中,我们介绍了如何使用 React 来实现点击显示隐藏另一个组件。...这些示例可以用作参考,帮助你自己的 React 应用程序中实现点击显示隐藏另一个组件的功能。

    4.9K10

    React之状态(State)

    React当中,当你更新组件的state,然后新的state就会重新渲染到页面中。在这个时候不需要你操作任何DOM。你也可以认为组件React当中是一个状态机(State Machines)。...现在我们先来通过ES6类React.Component完成一个通过点击按钮对DIV进行显示隐藏的操作,效果如下: ? 咱们先将页面进行初始化: <!...在上面的代码中为state添加了一个默认值为true的属性isShow。isShow用来控制div显示隐藏!当isShow为true显示,为false隐藏 接下来要完成的二件事。...第一件事是要为按钮增加一个点击事件,事件与changeState方法进行绑定。当点击按钮改变isShow的状态,也就是要为 isShow进行取反操作。...第二件事是要为id为myDiv的DIV增加一个style属性,该属性要根据isShow的状态来对DIV进行显示隐藏 注意: 1、style的值不要用双引号,而是用{},否则会报错 最终版代码

    66120

    React 入门手册

    HTML 中,我们使用的是 class 属性。出于各种原因,它可能是使用最广泛的属性,而 CSS 就是其中一个原因。...其他的前端框架( Angular 和 Vue)有自己的特殊方法来模板中显示 JavaScript 值,或者执行类似循环的操作。 React 并没有添加类似的新特性。... React 中处理用户事件 React 提供了一种简单的方法来管理从 DOM 触发的事件,点击事件、表单事件等。 这里我们以最容易理解单击事件为例来进行说明。...当你调用这个钩子时,你需要传入一个函数。组件第一被渲染的时候,以及随后的每次重新渲染 / 更新React 都会调用这个函数。...学习如何使用 React 路由。 学习如何测试 React 应用。 了解基于 React 构建的应用程序框架, Gatsby 或者 Next.js

    6.4K10

    手把手教你如何在报表中查询数据

    每周一个报表小技巧:如何在报表中引入数据筛选功能 前言篇 在当今信息爆炸的时代,面对海量的数据,我们常常需要从中提取有价值的信息,做出更好的决策。...2.代码篇 2.1创建工程文件并引入资源 第一步文件管理器中创建一个空白的文件夹作为工程并用VSCode打开。 第二步工程中新建两个文件夹用来存放JS文件和CSS文件。...2.2引入JS文件 第一步JS文件夹中新建一个.JS文件,名称任意起即可。 第二步JS文件中引入需要的JavaScript方法: 1.设置页面中需要的数据和初始化方法。...2.4引入Html文件 第一步工程文件中创建一个.Html文件,名称任意起即可。 第二步Html文件中导入JS文件资源,主要用到的是迷你图组件(点击这里可以了解其他组件资源)。...(Gitee) 3.2更多表格插件Demo 除了JavaScript的使用,还可以流行的框架Vue、React中引入数据筛选功能,不仅如此,还可实现许多花样操作,如数据绑定和单元格透视等,让表格更具交互性和易用性

    29720

    useLayoutEffect的秘密

    如果,容器不能容纳这些组件,那么它会在容器的右侧显示一个“更多”按钮,点击后会显示一个下拉菜单,其中包含剩余未展示的子项目 让我们先从简单的逻辑入手,先创建一个简单的导航组件,它将呈现一个链接列表:(直接遍历...处理“更多”按钮 当我们胸有成竹的把上述代码运行后,猛然发现,我们还缺失了一个重要的步骤:如何在浏览器中渲染更多按钮。我们也需要考虑它的宽度。 同样,我们只能在浏览器中渲染它才能获取其宽度。...还是沿用第一渲染全部元素,但是设置这些元素不可见(不透明度设置为 0/或者可见区域之外的某个地方的某个 div 中呈现这些元素),然后计算后再将那些满足条件的元素显示出来。...,将它放入 app 变量中,创建一个 div,更新其 HTML,将该 div 附加到 app,然后三更改 div 的边框。...因此,我们浏览器显示我们的页面之前“第一通过”阶段渲染的内容就是我们组件中渲染的内容:所有按钮的一行,包括“更多”按钮。

    26610

    SSR服务器端渲染(Next.js总结和豆瓣电影项目)「建议收藏」

    自定义404页面 直接在pages文件夹里创建一个_error.js页面(只能叫这个名字) 创建公共导航组件(components文件夹) 不要写在pages有路由的文件夹里,根目录里我们要创建一个单独的...: 同样方式,teacher和student页面也把Mynav组件去掉,也改成布局组件Mylayout动态内容显示方式(这样Mynav组件就只有Mylayout里引入一,这样就实现了布局组件来布局...) 这样路由主页,教师页面和学生页面都采用了布局组件,实现了Mynav导航组件只布局组件里导入一.比如如果我们后面还要加一个尾部固定组件的话,那我们只需要在布局组件里再增加一个尾部组件即可...办法如下: pages文件加下创建_app.js(只能叫这个名字),写如下代码(是固定写法): import React from 'react' import App, { Container...next.js中一定要引入withRouter这个方法.

    2.2K40

    React----组件生命周期知识点整理

    -滚动条 scrollTop和scrollHeight 总结 重要的勾子 即将废弃的勾子 ---- 案例引入 需求:定义组件实现以下功能: 让指定的文本做显示 / 隐藏的渐变动画 从完全可见...2.React组件中包含一系列勾子函数(生命周期回调函数), 会在特定的时刻调用。 3.我们定义组件,会在特定的生命周期回调函数中,做特定的工作。...componentWillReceiveProps方法—第一挂载不会调用,后面更新才会调用 class A extends React.Component { //初始化状态 state={...如果返回的不是一个js对象,那么效果等同于null 此方法适用于罕见的用例,即 state 的值在任何时候都取决于 props getDerivedStateFromProps 的存在只有一个目的:让组件...scrollHeight: 因为子元素比父元素高,父元素不想被子元素撑的一样高就显示出了滚动条,滚动的过程中本元素有部分被隐藏了,scrollHeight代表包括当前不可见部分的元素的高度。

    1.5K40

    React 性能优化完全指南,将自己这几年的心血总结成这篇!

    不使用 key ,组件两 Render 的结果如下。 <!...相反立即更新 setState ,每次 setState 都会触发一 Render 过程,就存在性能影响。...该例子中,用户添加一个整数后,页面要隐藏输入框,并将新添加的整数加入到整数列表,将列表排序后再展示。 以下为一般的实现方式,将 slowHandle 函数作为用户点击按钮的回调函数。...懒加载 SPA 中,懒加载优化一般用于从一个路由跳转到另一个路由。 还可用于用户操作后才展示的复杂组件,比如点击按钮后展示的弹窗模块(有时候弹窗就是一个复杂页面 ?)。...该场景中,除非想办法不依赖 DOM 信息,否则两更新过程是少不了的,就只能用其他优化技巧了。 use-swr 的源码[43]就使用了该优化技巧。

    7.4K30

    《精通reactvue组件设计》之手把手实现一个轻量级可扩展的模态框(Modal)组件

    正文 开始组件设计之前希望大家对css3和js有一定的基础,并了解基本的react/vue语法.我们先来解构一下Modal组件, 一个Modal分为以下几个部分: 每一个区块都可以自定义配置, 也可以组合其他组件...,关于隐藏显示的动画,我们这里用transform:scale来实现。...2.6 实现destroyOnClose 这个功能意思是弹窗关闭是否清除子元素,我:《精通react/vue组件设计》之配合React Portals实现一个功能强大的抽屉(Drawer)组件这篇文章中有详细的介绍...虽然这样已经基本实现了键盘关闭的功能,但是这样的代码明显不够优雅,所以我们来完善以下,我们可以将键盘关闭的方法抽离出来,然后useEffect的第一个回调函数中返回另一个函数(该函数里是组件卸载前的钩子...二封装一个可实时预览的json编辑器组件(react版) 笔者已经将组件库发布到npm上了, 大家可以通过npm安装的方式体验组件.

    2.7K11

    更可靠的 React 组件:合理的封装

    主要的缺点就在于无法轻易修改一个大量依赖其他组件的组件。甚至一个简单的改变都会导致连锁的修改。 ? 封装,或者说是 信息隐藏,是设计组件的基本原则,也是达成松耦合的关键。 1....所以有请 props 吧~ 作为组件的输入,prop 最好是 JS 基本类型 ( string、number、boolean): <Message text="Hello world!"...父组件对子组件设置 props ,也不应该暴露自身的结构。比如,把整个组件实例或 refs 当成 props 传递就是个糟糕的决定。 访问全局变量是另一个对封装造成负面影响的问题。 3....这是个显示一个数字,以及“加”、“减”两个按钮的简单应用: class App extends React.Component { ... }class...当用户点击,父组件的 state 被更新,相应的数字显示也会加 1 或减 1。

    1.1K10

    react ---- Router路由的使用和页面跳转

    (注意,Router只能一个子组件,所以要把所有Route标签用一个div包裹起来) 然后是 component 属性,其中储存了组件名称,当我们访问特定地址就会渲染该组件,也可以称其为这一个路由的入口组件... ); } } export default Home; 用于显示div标签中的This is Home!语句。...如果想在访问其他地址显示Home组件,可以Home组件所在Route标签中加入 exact ,如下: ...点击跳转到Page3 ); } } export default Home; 首先,我们要在上方用 import 引入一个 Link...点击中一个链接就可以跳转到特定的页面,比如Page1: ? 注意,这里的跳转并没有访问新的html文件,而是由React改变了原本html页面中的内容。

    2.8K10

    vue之vue-router实例

    所以页面上有两个部分,一个点击部分,一个点击之后,显示内容的部分。 点击之后,怎么做到正确的对应,比如,我点击home 按钮,页面中怎么就正好能显示home的内容。...所以还有一个非常重要的属性 to,定义点击之后,要到哪里去, :Home js 中配置路由 首先要定义route, 一条路由的实现。...直接给它添加一个 class 就可以了,Home 动态路由 上面我们定义的路由,都是严格匹配的,只有router-link 中的to属性和 js 中一条路由route中 path 一模一样,才能显示相应的组件...,而是复用这个组件,就是当第一点击:user123)的时候,vue 把对应的组件渲染出来,但在user123, user456点击来回切换的时候,这个组件就不会发生变化了,组件的生命周期不管用了。...当点击按钮的时候,跳转另一个组件, 这只能用代码,调用rourter.push() 方法。当们把router 注入到根实例中后,组件中通过 this.

    1.9K21

    React 设计模式 0x7:构建可伸缩的应用程序

    它有助于使应用程序更快,它在内存中缓存计算结果,并在需要显示结果,而不是每次都重新计算。...└── Register.test.js └── api ├── api.js └── api.test.js # 高阶组件 高阶组件是一个函数,它接受一个组件并返回一个新组件。...让我们看看如何在 React.js 中使用 SOLID 原则: 单一职责原则(SRP) 意味着每个组件应该只做一件事 设计 React 应用程序时,请记住这个原则,因为它将使您的代码更易读和可维护 开闭原则...的类,它扩展到另一个名为 Car 的类,我们应该能够扩展类 Make 而不影响 Car 类的功能 使用类组件或在 React 中使用 TypeScript 是可能用到 接口隔离原则(ISP) 应该仅使用所需的接口... React 中,这可以说是 props props 每个 React 应用程序中非常重要,当将这些 props 从父组件传递到子组件,只应传递所需的内容,而不是所有 props 中的内容 可以通过传递之前解构

    1.3K10

    【建议收藏】11+实战技巧,让你轻松从Vue过渡到React

    ,Vue中处理一个元素的显示隐藏一般会用v-if或者v-show指令,只不过v-if是“真正”的条件渲染,切换过程中条件块内的事件监听器和子组件会适当地被销毁和重建。...'' : 'none' }}>前端胖头鱼 显示出来啦 } ) } 预览 3. v-for 一般情况下,渲染一个列表Vue中使用v-for指令,... ) } 预览 computed.gif 5. watch 有时候我们需要监听数据变化然后执行异步行为或者开销较大的操作Vue中可以使用watch来实现 我们来模拟一个这样的场景并且通过...Vue中当 v-bind:style 使用需要添加浏览器引擎前缀的 CSS property transform,Vue.js 会自动侦测并添加相应的前缀。...React好玩的其中一个点,我觉得是属性啥玩意都可以传、字符串、数字、函数、连DOM也可以传。

    2.7K30
    领券