首页
学习
活动
专区
圈层
工具
发布

用react-query解决你一半的状态管理问题

,服务端状态更应被归类为「缓存」,他有如下性质: 通常以「异步」的形式请求、更新 「状态」由请求的数据源控制,不由前端控制 「状态」可以由不同组件共享 作为可以由不同组件共享的「缓存」,还需要考虑更多问题...你可以从这里[2]看到他们的区别 初识React-Query React-Query是一个基于hooks的数据请求库。...我们可以将刚才的例子用React-Query改写: import { useQuery } from 'react-query' function App() { const {data,...所以我们需要告诉React-Query,userData query对应的缓存已经失效,需要更新: import { useQuery, queryCache } from 'react-query';...这样,React-Query就会重新请求userData对应query的数据。 总结 通过使用React-Query(或SWR)这样的数据请求库,可以将服务端状态从全局状态中解放出来。

2.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于动态创建DOM元素的问题

    在我们实际的项目之中,相信有很多的朋友直接使用了以下的格式创建DOM元素 document.getElementById("...也就是说"永远不要在页面加载时改变页面的Dom模型". (2) 使用修改HTML内容添加元素, 不符合Dom标准....但是如果我们使用Dom的CreateElement创建对象, 在所有的浏览器中几乎都可以. 但是在jQuery中如果传入的而是一个完整的HTML字符串, 内部也是使用innerHTML....关于使用HTML DOM创建元素本文不做详细介绍, 下面举一个简单的例子: 第一种正确方式: //使用Dom标准创建元素 var select = document.createElement("select...select.size = "2"; var object = testDiv.appendChild(select); 通过使用 document.createElement 方法我们可以创建Dom

    2.7K20

    记录一次路由器问题

    尝试了用2个卧室的网线口连接还是没有网络信号,初步猜测是2个房间的线路或者接口都有问题,无奈没带工具只能进一步确定是哪里的问题。...确定了网没问题后,因为没带工具,就分别从2个卧室接墙上的网线到笔记本电脑,查看客厅主路由器的Lan口有没有亮,检测后得出结论确实2个房间的网线都是不通的。采用房间放副路由的方案搁置。...下面附上Tplink路由器方法: https://service.tp-link.com.cn/m/detail_article_2282.html 经过今天的调试,研究了一下桥接的问题,知乎上有个比较通用的回答在这转载一下...主路由器就设置好了,接下来设置副路由器。 先拔下插在主路由器LAN上的那跟线,插在副路由器LAN接口上。...(这时俩个路由器都插上电,副路由器放置在主路由器旁) 看副路由器背面的地址码,打开网页搜索副路由器的地址,进入后点击网络参数,LAN口设置,把副路由器的LAN地址设置为192.168.1.2(防止与主路由器地址冲突

    1.1K20

    家用路由器异常问题解决

    其他采用默认即可 四,ADSL Modem同步异常问题 检查一下自己的电话线和ADSL连接的地方是否接触不良,或者是电话线出现了问题,质量不好的电话特别容易造成掉线,但是这样的问题又不好检查,所以务必使用质量较好的电话线...排除上述情况,只要重起ADSL Modem就可以解决同步问题。 五,操作系统,病毒问题 除了上面提到的线路状况外,还有电脑系统方面的问题。比如传奇杀手引起局域网掉线。...该问题在全国均大面积发生,该病毒对主机代理和路由器代理的网吧(局域网)均会造成影响。...七,静电问题 静电是影响ADSL的重要因素,而家中的电源一般都不接地线,再加上各种电器(如冰箱、电视)的干扰,很容易引起静电干扰,致使ADSL在使用中频繁掉线,请将三芯插座的接地端引出导线并良好接地,一般可以解决掉线问题...一般解决方法:增加接地线,解决掉线问题 。 八,软件冲突问题 ADSL接入Internet的方式有虚拟拨号和专线接入两种,现在个人用户的ADSL大都是虚拟拨号。

    1.5K10

    DOM、BOM一些兼容性问题

    汇集了许多关于DOM和BOM的兼容性问题,主要是关于 IE 浏览器的,考虑到浏览器迭代,这里主要列出了 IE8 以及之后的浏览器版本。...而有些兼容性问题也可能是其它浏览器之间的差异,比如 Chrome 和 FireFox 对于鼠标滚轮事件对象的滚轮方向判断方式不同,Chrome使用 wheelDelta,而FireFox 则采用 detail...1、DOM DOM 即:文档对象模型,其中定义了许多操作 HTML 文档内容的 API,在早期的浏览器中,特别是 IE,有些API是不支持的,或者API的名称或功能和标准不太一样,这样就造成了差异。...但考虑兼容性问题时,可能不太好用。...以上就是关于 DOM、BOM 的一些兼容性问题,在实际开发中可能比这要多得多,而且现代 CSS 兼容性问题也很多,想要做很好的兼容效果, jQuery 的早期版本是个很不错的选择,对于如今的 ES6/7

    1.8K20

    关于dom4j解析XML的问题分享

    最近在在做个程序需要将C#小工具转成java,因为需要涉及到操作xml文件所以需要引用dom4j; 使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使...(DocumentFactory.java:230) at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207) at org.dom4j.tree.AbstractNode.selectNodes...AbstractNode.java:164) 这么好用的方法怎么能抛异常呢,一路跟踪过去看,竟然是“List l = doc.selectNodes("//COLS/COL1");” 这句报错,查了一下才知道,不光要有dom4j...这个包,还要有jaxen 包:-238 KB,这 应该是dom4j的基础包,在dom4j的zip包的lib目录里可以找到。...即使用这个方法需要以下两个包: dom4j-1.6.1.jar jaxen-1.1.2.jar 需要下载这个jaxen-1.1.2.jar包的可以去下面链接下载: 百度网盘链接:https://pan.baidu.com

    64420

    React-diff算法和React-其它内容-StrictMode.md

    , 得到虚拟 DOM 树{ targetName: 'div', children:[ { targetName: 'div', children:[ {...树在界面上生成真实 DOMReact 更新流程props/state 发生改变render 方法重新执行将 JSX 转换成 createElement利用 createElement 重新生成新的虚拟 DOM...树新旧虚拟 DOM 通过 diff 算法 进行比较每发现一个不同就生成一个 mutation根据 mutation 更新真实 DOMReact-Diff 算法只会比较同层元素只会比较 同位置 元素(默认...:同类型元素做修改不同类型元素重新创建官方文档:https://zh-hans.reactjs.org/docs/reconciliation.html#the-diffing-algorithm图片React...-其它内容-StrictModeStrictMode 概述作用: 开启 严格模式, 检查后代组件中是否存在潜在问题注意点:和 Fragment 一样, 不会渲染出任何 UI 元素仅在 开发模式 下有效StrictMode

    32220

    React-Query:啥都没干,就被淘汰了?

    作为前端缓存库中的佼佼者,React-Query一直拥有大量受众,官方推出的React-Query课程都卖出了8w+份。但就是这样一款能打的产品,居然有被淘汰的风险,这究竟是为什么?...本质来说,这是个数据/缓存同步的问题,只不过在SPA时代,这个问题刚好交给前端解决而已。但是,后端天生离数据更近,解决这个问题更有优势。...所以当渲染任务逐渐移向后端,React-Query(或类似的库)便逐渐失去市场。总结来说:取代React-Query的,并不是更先进的竞品,而是他存在的土壤正在逐渐消失。...图片把这个模型套在数据同步的场景:之前,数据同步的逻辑主要发生在位于前端的React-Query中现在,数据同步的逻辑发生在后端既然数据同步的逻辑发生在后端,显然就不需要运行在前端的React-Query...没曾想,随着这些全栈框架的爆发,前端缓存库React-Query成为受伤最重的那个。这就是所谓的 —— 毁灭你,与你何干。

    55330

    React-Query:啥都没干,就被淘汰了?

    作为前端缓存库中的佼佼者,React-Query一直拥有大量受众,官方推出的React-Query课程都卖出了8w+份。 但就是这样一款能打的产品,居然有被淘汰的风险,这究竟是为什么?...本质来说,这是个「数据/缓存同步」的问题,只不过在SPA时代,这个问题刚好交给前端解决而已。 但是,后端天生离数据更近,解决这个问题更有优势。...所以当渲染任务逐渐移向后端,React-Query(或类似的库)便逐渐失去市场。 总结来说:取代React-Query的,并不是更先进的竞品,而是他存在的土壤正在逐渐消失。...把这个模型套在「数据同步」的场景: 之前,「数据同步」的逻辑主要发生在位于前端的React-Query中 现在,「数据同步」的逻辑发生在后端 既然「数据同步」的逻辑发生在后端,显然就不需要运行在前端的React-Query...没曾想,随着这些全栈框架的爆发,前端缓存库React-Query成为受伤最重的那个。 这就是所谓的 —— 毁灭你,与你何干。

    34520

    js行内式遇到的一些问题 DOM对象和jq对象转换的问题

    这两天给后台页面做页面,我的工作比较简单,只需要写结构和样式就行了,写好之后,后端大哥用ajax重写页面加载数据,顺便给标签添加选中事件,做选中后变色的处理,但是却遇到一个问题,一直选不到触发事件这个对象...' value='123'>类别 function check() { console.log($(this).name); } 遇到的问题就是...这里涉及到DOM对象和jq对象的转换问题 jQuery对象转成DOM对象:  两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);  (1)jQuery对象是一个数据对象...) //检测这个checkbox是否被选中 DOM对象转成jQuery对象: 对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。...可能表述的并不完全准确,如果有错欢迎指正,因为现在写代码很少用行内式,所以这个问题还是蛮有趣的,这里指提供解决方法,原理有待我进一步学习,哪些能做形参哪些能做实参,还需要深入了解。

    1.3K50
    领券