react实现页面多个模块的切换

简介: react实现页面多个模块的切换

前言


这是做的一个多模块切换的一个案例,也是第一会这样大量的使用表单,大概有7,8个模块,这里用其中的一个模块来做展示


以下三张图片对应的就是三个模块了


这是第一个展示面

这是第二个编辑页

这是呈现数据的页面


实现过程


1、每一个模块就是一个组件

<script>
  // 这里定义一个默认值,作为第一个显示的模块
  state={cls='tj'}
</script>
<div className="module1">
  <div className=`module1_1  ${cls}`>第一个添加模块(当calss名为tj的时候显示)</div>
  <div className=`module1_2  ${cls}`>第一个编辑模块(当calss名为bj的时候显示)</div>
  <div className=`module1_3  ${cls}`>第一个展示模块(当calss名为zs的时候显示)</div>
</div>


2、先把所有3个模块全部隐藏,再利用一个动态class名实现模块的切换

/* 
样式文件
需要用另一个class名限制一下,不然3个组件的切换就会失效
 */
.module1{
  div {
  display: none;
  }
  .module1_1 {
  &.tj{
    display: block;
  }
  }
  .module1_2 {
  &.bj{
    display: block;
  }
  }
  .module1_3 {
  &.zs{
    display: block;
  }
  }
}


总结


1、大量的数据提交,修改,重置,数据的深拷贝和数据还原是关键,可以提炼

2、一个功能就是一个事件,复用起来很方便,不要为一次的省事而作叠加。

3、input 框 value和defaultValue 属性不可以一起使用,会发生冲突

4、获取值一般都是value , 多选框需要通过checked

5、多个模块的状态控制(互不关联),一般情况下是这么设置的

{
module1:false,
module2:false,
module3:false,
}

如果把每一个模块都写成单独的组件,直接用一个状态就可以了

目录
打赏
0
0
0
0
0
分享
相关文章
react怎么实现跨页面传参
react怎么实现跨页面传参
281 2
React-Router 5.0 制作导航栏+页面参数传递
React-Router 5.0 制作导航栏+页面参数传递
77 0
React项目路由懒加载lazy、Suspense,使第一次打开项目页面变快
本文介绍了在React项目中实现路由懒加载的方法,使用React提供的`lazy`和`Suspense`来优化项目首次加载的速度。通过将路由组件改为懒加载的方式,可以显著减少初始包的大小,从而加快首次加载速度。文章还展示了如何使用`Suspense`组件包裹`Switch`来实现懒加载过程中的fallback效果,并提供了使用前后的加载时间对比,说明了懒加载对性能的提升作用。
475 2
React项目路由懒加载lazy、Suspense,使第一次打开项目页面变快
除了使用Route组件,React Router还有其他方式处理404错误页面吗
除了使用Route组件,React Router还有其他方式处理404错误页面吗
88 58
如何在React Router中定义404错误页面组件?
如何在React Router中定义404错误页面组件?
80 57
在React Router中,如何处理路由的404错误页面?
在React Router中,如何处理路由的404错误页面?
93 57
react或者vue更改用户所属组,将页面所有数据进行替换(解决问题思路)____一个按钮使得页面所有接口重新请求
在React或Vue中,若需在更改用户所属组后更新页面所有数据但不刷新整个页面,可以通过改变路由出口的key值来实现。在用户切换组成功后,更新key值,这会触发React或Vue重新渲染路由出口下的所有组件,从而请求新的数据。这种方法避免了使用`window.location.reload()`导致的页面闪烁,提供了更流畅的用户体验。
85 1
react或者vue更改用户所属组,将页面所有数据进行替换(解决问题思路)____一个按钮使得页面所有接口重新请求
|
7月前
|
React页面跳转取消上一个页面的所有请求
React页面跳转时取消上一个页面的所有axios请求,通过axios拦截器设置cancelToken,并在页面跳转时调用cancel函数取消未完成的请求。
127 2
React配合axios请求拦截校验session,403跳转至登陆页面
React中使用axios进行请求拦截,通过自定义事件监听和响应拦截实现403状态码时的自动登录页面跳转。
223 2
React——前端开发中模块与组件【四】
React——前端开发中模块与组件【四】
65 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等