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,
}

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

相关文章
|
8月前
|
存储 前端开发 JavaScript
react怎么实现跨页面传参
react怎么实现跨页面传参
234 2
|
8月前
|
资源调度 JavaScript 前端开发
React-Router 5.0 制作导航栏+页面参数传递
React-Router 5.0 制作导航栏+页面参数传递
64 0
|
4月前
|
前端开发 JavaScript
React项目路由懒加载lazy、Suspense,使第一次打开项目页面变快
本文介绍了在React项目中实现路由懒加载的方法,使用React提供的`lazy`和`Suspense`来优化项目首次加载的速度。通过将路由组件改为懒加载的方式,可以显著减少初始包的大小,从而加快首次加载速度。文章还展示了如何使用`Suspense`组件包裹`Switch`来实现懒加载过程中的fallback效果,并提供了使用前后的加载时间对比,说明了懒加载对性能的提升作用。
355 2
React项目路由懒加载lazy、Suspense,使第一次打开项目页面变快
|
4月前
|
前端开发 JavaScript UED
react或者vue更改用户所属组,将页面所有数据进行替换(解决问题思路)____一个按钮使得页面所有接口重新请求
在React或Vue中,若需在更改用户所属组后更新页面所有数据但不刷新整个页面,可以通过改变路由出口的key值来实现。在用户切换组成功后,更新key值,这会触发React或Vue重新渲染路由出口下的所有组件,从而请求新的数据。这种方法避免了使用`window.location.reload()`导致的页面闪烁,提供了更流畅的用户体验。
64 1
react或者vue更改用户所属组,将页面所有数据进行替换(解决问题思路)____一个按钮使得页面所有接口重新请求
|
4月前
|
前端开发
React页面跳转取消上一个页面的所有请求
React页面跳转时取消上一个页面的所有axios请求,通过axios拦截器设置cancelToken,并在页面跳转时调用cancel函数取消未完成的请求。
83 2
|
4月前
|
前端开发 JavaScript
React配合axios请求拦截校验session,403跳转至登陆页面
React中使用axios进行请求拦截,通过自定义事件监听和响应拦截实现403状态码时的自动登录页面跳转。
143 2
|
5月前
|
Web App开发 前端开发 JavaScript
React——前端开发中模块与组件【四】
React——前端开发中模块与组件【四】
50 0
|
8月前
|
数据采集 资源调度 前端开发
React的服务器端渲染:使用ReactDOMServer进行高效页面预渲染
【4月更文挑战第25天】使用ReactDOMServer,React支持服务器端渲染以实现高效预渲染。通过在Node.js环境中将React组件转化为HTML字符串,减少客户端JavaScript负载和渲染时间。优点包括更快首屏加载、改善SEO和兼容无JavaScript环境,但也会增加服务器负载、复杂性和状态管理挑战。开发者需根据项目需求平衡SSR和CSR。
|
8月前
|
前端开发
探索React页面导航:不只有React Router
探索React页面导航:不只有React Router
111 0
|
8月前
|
JavaScript 前端开发
React 像 vue 一样配置页面路由,并支持重定向路由,路由守卫等(使用 useRoutes 完成)...
React 像 vue 一样配置页面路由,并支持重定向路由,路由守卫等(使用 useRoutes 完成)...
110 0