react或者vue更改用户所属组,将页面所有数据进行替换(解决问题思路)____一个按钮使得页面所有接口重新请求

简介: 在React或Vue中,若需在更改用户所属组后更新页面所有数据但不刷新整个页面,可以通过改变路由出口的key值来实现。在用户切换组成功后,更新key值,这会触发React或Vue重新渲染路由出口下的所有组件,从而请求新的数据。这种方法避免了使用`window.location.reload()`导致的页面闪烁,提供了更流畅的用户体验。

首先我描述一下我的需求:

比如说我有一组和二组。一组的界面和二组的界面一样,就是数据不一样。当我从一组切换成为二组之后,全部的接口需要重新请求接口儿。但是我不想让整个页面刷新请求(window.location.reload()),而是切换组之后直接全部变成新的数据,这个怎么实现?

目前框架用的react,但是这个问题并不会因为使用框架不同,而解决方案不同,所以和框架没有关系。

我举个例子:
在这里插入图片描述
首先一个管理系统,我们首先会先登录,登陆之后,这个账号会有一个默认的所属组,然后不管切换那个路由,哪个菜单,请求的这些接口返回的数据都是这个组下面的数据,这个时候,我切换了所属组,比如我切换成了第八组,我需要页面上的数据都变成第八组中的数据,但是我不清楚你可能会在哪个页面中切换,这个页面有多少个组件呢,每个组件又是否嵌套其他组件,但是这些组件中的数据,请求数据的接口都需要重新请求一遍,因为我所属组变了,我要看切换组的数据,但是我不想使用window.location.reload,因为这样体验不好,会使屏幕闪一下,就是会白屏一下。我想切换完之后,数据立马变,就像是只走了axios,将最新的数组请求了过来,这个问题困扰了一晚上,越想越复杂。

解决方案:

于是睡了一觉,今天早上有了思路,针对于这样的问题,首先我们清楚的知道,页面是路由匹配之后产生的,所以在这个路由的时候,我切换了组,并且告诉了后端,我这个用户从这个组切换成了这个组,然后返回结果为成功的时候,我们才能使页面刷新,就是所谓的请求接口,将页面所有的接口从新走一遍。
这个时候,我们已经将问题扩大化,问题有了一个归纳,那就是将问题考虑的面光了,我们升级到了路由级别,这个时候我们会想到路由出口,对于react就是Route,而vue的话就是router-view这个路由总出口,我们需要考虑的变了,变成了再切换组成功之后,怎么使路由出口重新渲染一遍,这个时候我们熟悉react或者vue的话,我们可以很快的考虑到一个属性,那就是key,这就是终极解决方案,key!
因为vue或者react 会根据你当前这个key是否改变来判断是否需要重新渲染这个标签或者组件,key变化 整个路由出口的所有路由都会重新渲染,这也是为什么for中用key的原因了。所以我们切换成功之后,将路由出口的key属性进行替换,就说明,我们告诉框架,我们这个路由出口中的组件需要重新渲染,ok,成功解决问题。

目录
相关文章
|
7月前
|
编解码 前端开发 JavaScript
js react antd 实现页面低分变率和高分变率下字体大小自适用,主要是配置antd
在React中结合Ant Design与媒体查询,通过less变量和响应式断点动态调整`@font-size-base`,实现多分辨率下字体自适应,提升跨设备体验。
351 2
|
移动开发 前端开发 JavaScript
Vue与React两大前端框架的主要差异点
以上就是Vue和React的主要差异点,希望对你有所帮助。在选择使用哪一个框架时,需要根据项目的具体需求和团队的技术栈来决定。
649 83
|
9月前
|
JavaScript 前端开发 API
对比Vue框架与React库的主要区别
在选择Vue还是React时,考虑项目的需求、团队的熟悉程度和个人偏好至关重要。如果项目需要快速原型开发和较小的学习曲线,Vue可能是更好的选择。相反,如果项目需要更大的灵活性,或者项目团队已经有React的经验,那么React可能是更合适的选择。
426 13
|
前端开发 JavaScript
除了使用Route组件,React Router还有其他方式处理404错误页面吗
除了使用Route组件,React Router还有其他方式处理404错误页面吗
465 58
|
前端开发
如何在React Router中定义404错误页面组件?
如何在React Router中定义404错误页面组件?
400 57
|
前端开发 UED
在React Router中,如何处理路由的404错误页面?
在React Router中,如何处理路由的404错误页面?
426 57
|
前端开发 UED 开发者
React 悬浮按钮组件 FloatingActionButton
悬浮按钮(FAB)是常见的UI元素,用于提供突出的操作。本文介绍如何在React中使用Material-UI创建美观的FAB组件,涵盖基本概念、实现方法及常见问题解决。通过代码示例和优化技巧,帮助开发者提升用户体验,确保按钮位置、颜色、交互反馈等方面的表现,同时避免无障碍性和性能问题。
679 80
|
前端开发 JavaScript 开发者
React 按钮组件 Button
本文介绍了 React 中按钮组件的基础概念,包括基本的 `<button>` 元素和自定义组件。详细探讨了事件处理、参数传递、状态管理、样式设置和可访问性优化等常见问题及其解决方案,并提供了代码示例。帮助开发者避免易错点,提升按钮组件的使用体验。
686 77
|
JavaScript 前端开发 算法
vue和react 哪个更强大
vue和react 哪个更强大
349 3
|
6月前
|
缓存 前端开发 JavaScript
React Hooks深度解析与最佳实践:提升函数组件能力的终极指南
🌟蒋星熠Jaxonic,前端探索者。专注React Hooks深度实践,从原理到实战,分享状态管理、性能优化与自定义Hook精髓。助力开发者掌握函数组件的无限可能,共赴技术星辰大海!
React Hooks深度解析与最佳实践:提升函数组件能力的终极指南
下一篇
开通oss服务