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

【React】1935- 来看看 SWR 如何用 React Hook 实现优雅请求

数据过期 请求方法写在很顶层组件,将请求数据一层层传递给依赖组件使用,导致 组件 props 冗长 以上几种场景各自都有特殊处理方式,例如为 axios 增加类似防抖重复请求处理,计算用户无请求发送时间以确保数据更新.../oiloil 这个接口数据,当我们在组件中使用 hook 时候就直接发送了请求,如果我们后面需要重复请求可以直接调用 reload 方法,而且通过 !...hook ,实际使用过程还会出现 hook 嵌套情况,例如我需要获取用户列表,再根据某个用户 id 去获取相应用户详情。...而修改后每次打开弹窗都会随着 Modal 组件挂载和卸载重新执行 Modal 组件 useSwr 方法,造成重复请求,如果你 hook 还是嵌套使用,那么重复请求数量就更大了。...这里需要注意一下,在 React 官方文档中提到了 hooks-rules[4] : 不要在循环,条件或嵌套函数调用 Hook, 确保总是在你 React 函数最顶层以及任何 return 之前调用他们

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

【初级】个人分享Vue前端开发教程笔记

基础get请求 axios是一个基于promiseHTTP库,可以用在浏览器和node.js。...特点: 从浏览器创建XMLHttpRequests 从node.js创建http请求 支持Promise api 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换JSON数据 客户端支持防御...); axios api: 可以通过向axios传递相关配置来创建请求 // axios(config) axios({ method: 'post', url: '/user/123', data...inserted,被绑定元素插入父节点时调用,(仅保证父节点存在,但不一定已被插入文档)。 update,所在组件VNode更新时调用,但是可能发生在其VNode更新之前。...parent是vue`一个实例属性,它表示是当前组件父实例 假如父组件中有一个方法为sayDa,在组件可以直接使用this.$parent.sayDa去调用组件方法。

4.8K20

vue组件高级(上)

组件之间数据共享 3.1组件之间关系 在项目开发组件之间关系分为如下3种: 父子关系 兄弟关系 后代关系 3.2 父子组件之间数据共享 父子组件之间数据共享又分为: 父 -> 共享数据...此时组件之间嵌套关系比较复杂,可以使用provide和inject实现后代关系组件之间数据共享。...Vue3.x全局配置axios 在实际项目开发,几乎每个组件都会用到axios发起数据请求,此时会遇到如下两个问题: 每个组件中都需要导入axios(代码臃肿) 每次发请求都需要填写完整请求路径(...不利于后期维护) 配置方式 在main.js入口文件,通过 app.config.globalProperties全局挂载axios //为axios配置请求根路径 axios.defaults.baseURL...$http = axios组件中发起axios请求: this.$http.get('/users')

1.3K10

react笔记

2.React组件包含一系列勾子函数(生命周期回调函数), 会在特定时刻调用。 3.我们在定义组件时,会在特定生命周期回调函数,做特定工作。...API 1)GET请求 axios.get('/user?...2)注册路由: router.get(path, function(req, res)) 3)工作过程:当node接收到一个请求时, 根据请求路径找到匹配路由, 调用路由中函数来处理请求, 返回响应数据..., 当产生了新state时, 自动调用 7.3 redux核心API 7.3.1 createstore() 作用:创建包含指定reducerstore对象 7.3.2 store对象 1.作用:...(一般数据和函数) 3)不使用任何 Redux API 4)一般保存在components文件夹下 2.容器组件 1)负责管理数据和业务逻辑,不负责UI呈现 2)使用 Redux API

1.4K20

建站四部曲之前端显示篇(React+上线)

,致敬我2018 本篇重点在于:用前两篇数据使用React搭建一个简单网站 本篇总结技术点: React组件封装、React实现简单懒加载、React网络请求、搜索功能 React...添-POST请求:http://192.168.43.60:8089/api/android/note 添-PUT请求:http://192.168.43.60:8089/api/android...[2]如果对MySQL不太熟悉童鞋,可以看一下我这篇:Spring..." } } ---- 2.组件属性和行为 //组件属性 this.props.itemInfo:上层组件传递来数据...Page页抽取与数据流入.png ---- 1.数据获取(以Android界面为例) 1.1:添加依赖 这里使用axios发送请求 npm i axios 1.2:获取数据方法简单封装:DataFetcher.js...组件接收props就像Android自定义控件自定义属性,并且React灵活很多 css布局就像Android布局,相比而言,css强大很多 ES6语法加持,更让React写起来符合

3.4K30

React: hooks 该怎么优雅获取数据

当然你需要先了解一下 react hooks 新特性 github.com/reactjs/rfc… reactjs.org/docs/hooks-… 使用 hook 获取数据 这里有一篇讲解在 react...因为当我们在获取数据后存储数据到 state 时候,我们组件会随之更新,然后 effect 会再次运行一次。然后我们会又获取一次 data。...我们目的是只在组件加载完成时候获取数据 import React, { useState, useEffect } from 'react'; import axios from 'axios'...[],当我们组件更新时候回去观测 effect 值是否有变化,这里添加空 [] ,是为了防止 hooks 再一次运行。...而不是直接写在 form onchange 方法 const doGet = event => { setUrl(`http://hn.algolia.com/api/v1/search

2.4K30

【Web技术】314- 前端组件设计原则

我正在研究一个从 API 获取一些数据并将其呈现给表组件,其中排序,过滤等功能都是后端完成,因此前端需要做就是 watch 所有搜索参数,并在其变化时触发 API 调用。...这样并不是预料之中行为,而且产生代码也不够直观。 解决方案是改变页码这个行为事件处理函数(不是观察者,用户更改页面的实际处理函数)应该更改页面值并触发 API 调用请求数据。...除此之外任何事情,例如 API 调用,数值格式化(例如货币或时间)或跨组件复用数据,都可以移动外部 js 文件。让我们看一下 Vue 一个简单示例,使用嵌套列表组件。...Vuex 存储并使用 axios 发送请求。...如果我们是从 API 响应获取数据,但是这个数据跟我们期望数据结构或者类型不同时候要怎么办?或者我们期望单击嵌套项时有不同行为?

1.3K40

前端组件设计原则

我正在研究一个从 API 获取一些数据并将其呈现给表组件,其中排序,过滤等功能都是后端完成,因此前端需要做就是 watch 所有搜索参数,并在其变化时触发 API 调用。...这样并不是预料之中行为,而且产生代码也不够直观。 解决方案是改变页码这个行为事件处理函数(不是观察者,用户更改页面的实际处理函数)应该更改页面值并触发 API 调用请求数据。...除此之外任何事情,例如 API 调用,数值格式化(例如货币或时间)或跨组件复用数据,都可以移动外部 js 文件。让我们看一下 Vue 一个简单示例,使用嵌套列表组件。...Vuex 存储并使用 axios 发送请求。...如果我们是从 API 响应获取数据,但是这个数据跟我们期望数据结构或者类型不同时候要怎么办?或者我们期望单击嵌套项时有不同行为?

2.2K30

前端组件设计原则

我正在研究一个从 API 获取一些数据并将其呈现给表组件,其中排序,过滤等功能都是后端完成,因此前端需要做就是 watch 所有搜索参数,并在其变化时触发 API 调用。...这样并不是预料之中行为,而且产生代码也不够直观。 解决方案是改变页码这个行为事件处理函数(不是观察者,用户更改页面的实际处理函数)应该更改页面值并触发 API 调用请求数据。...除此之外任何事情,例如 API 调用,数值格式化(例如货币或时间)或跨组件复用数据,都可以移动外部 js 文件。让我们看一下 Vue 一个简单示例,使用嵌套列表组件。...Vuex 存储并使用 axios 发送请求。...如果我们是从 API 响应获取数据,但是这个数据跟我们期望数据结构或者类型不同时候要怎么办?或者我们期望单击嵌套项时有不同行为?

1K20

前端组件设计原则

我正在研究一个从 API 获取一些数据并将其呈现给表组件,其中排序,过滤等功能都是后端完成,因此前端需要做就是 watch 所有搜索参数,并在其变化时触发 API 调用。...这样并不是预料之中行为,而且产生代码也不够直观。 解决方案是改变页码这个行为事件处理函数(不是观察者,用户更改页面的实际处理函数)应该更改页面值并触发 API 调用请求数据。...除此之外任何事情,例如 API 调用,数值格式化(例如货币或时间)或跨组件复用数据,都可以移动外部 js 文件。让我们看一下 Vue 一个简单示例,使用嵌套列表组件。...Vuex 存储并使用 axios 发送请求。...如果我们是从 API 响应获取数据,但是这个数据跟我们期望数据结构或者类型不同时候要怎么办?或者我们期望单击嵌套项时有不同行为?

1.7K20

Vue 相关学习笔记(二)

--1、menu-item 在 APP嵌套着 故 menu-item 为 组件 --> ERROR: # 当组件渲染时候,这个 元素将会被替换为“组件标签嵌套内容”。...实现组件更新数据功能 上 将输入框默认数据动态渲染出来 输入框失去焦点时候 更改商品数量 组件不推荐操作数据 把这些数据传递给父组件 让父组件处理这些数据 父组件接收组件传递过来数据并处理...这个任务可称为主线程 异步模式可以一起执行多个任务 JS中常见异步调用 定时任何 ajax 事件函数 promise 主要解决异步深层嵌套问题 promise 提供了简洁API 使得异步操作更加容易...页面可以加载出来最新信息 # 调用接口发送ajax 请求 var ret = await axios.get('books/' + id);

5.5K20

JavaScript 测试系列实战(三):使用 Mock 模拟模块并处理组件交互

在之前两篇教程,我们学会了如何去测试最简单 React 组件。在实际开发,我们组件经常需要从外部 API 获取数据,并且组件交互逻辑也往往更复杂。...在这篇教程,我们将学习如何测试更复杂组件,包括用 Mock 去编写涉及外部 API 测试,以及通过 Enzyme 来轻松模拟组件交互 初次尝试 Jest Mock 我们应用程序通常需要从外部...编写 axios 模块 mock 文件 Jest 支持对整个模块进行 Mock,使得组件不会调用原始模块,而是调用我们预设 Mock 模块。...React 组件交互 在上面迭代 TodoList ,我们使用了 axios.post。...由于没有发起实际 post 请求,我们测试可以更可靠,更快。除此之外,我们还在整个 React 组件模拟了事件。我们检查了它是否产生了预期结果,例如组件请求或状态变化。

4.8K20

React: Hooks入门-手写一个 useAPI

通过使用这个 Hook,你可以告诉 React 组件需要在渲染后执行某些操作。React 会保存你传递函数(我们将它称之为 “effect”),并且在执行 DOM 更新之后调用它。...在这个 effect ,我们设置了 document title 属性,不过我们也可以执行数据获取或调用其他命令式 API。...当组件上层最近 更新时,该 Hook 会触发重渲染,并使用最新传递给 MyContext provider context value 值。...server api 需求,但是远远是不能满足一些复杂情况,我们下面来升级一下我们扥 hooks,增加状态码,增加加载状态,主动触发 request 需求等等 升级版 import { createContext...api 来替代 Axios config */ const globalConfig = useContext(ApiContext); const sendRequest

1.7K30

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券