首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏用户4184852的专栏

    Nuxt3的useFetch、useAsyncData、useLazyFetch、useLazyAsyncData的区别

    useFetch和useLazyFetch useFetch的使用 useFetch("/baidu.php? baseURL: "https://www.zym88.cn", }).then(res => { console.log(res); }); useFetch 和useLazyFetch的区别 useFetch:等到请求完毕以后,再去渲染页面 useLazyFetch:不等请求完毕,直接渲染页面 想了解更多可以看官方文档:使用useFetch useAsyncData => { console.log(res); }); }); useAsyncData和useLazyAsyncData的区别 useFetch :等到请求完毕以后,再去渲染页面 useLazyFetch:不等请求完毕,直接渲染页面 想了解更多可以看官方文档:使用useAsyncData 总结 本质上useFetch和useAsyncData没有什么区别

    4.5K20编辑于 2023-01-02
  • 深入了解Nuxt3中的useFetch、useAsyncData、$fetch 之间的区别

    Nuxt3中useFetch、useAsyncData和$fetch之间的区别。这些都是Nuxt 3提供的用于数据获取的工具,但它们各有特点和适用场景。 SSR支持:useFetch和useAsyncData支持SSR,可以在服务器端预取数据。$fetch本身不支持SSR,需要手动处理。2. 自动缓存:useFetch和useAsyncData自动处理数据缓存。$fetch不提供自动缓存。3. 使用场景:useFetch适用于大多数数据获取场景,特别是需要SSR的情况。 返回值:useFetch和useAsyncData返回包含data、pending、error等属性的对象。$fetch直接返回响应数据。 总结:如果您需要在组件或页面中获取数据并支持SSR,使用useFetch。如果您需要处理复杂的异步操作并支持SSR,使用useAsyncData。

    1.5K10编辑于 2024-11-29
  • 来自专栏终身学习者

    你应该会喜欢的5个自定义 Hook

    useFetch 获取数据是我每次创建React应用时都会做的事情。我甚至在一个应用程序中进行了好多个这样的重复获取。 default useFetch; 获取数据是一个副作用。 ; useFetch返回一个对象,其中包含从URL中获取的数据,如果发生了任何错误,则返回错误。 import useFetch from '. /useFetch'; const App = () => { const { loading, error, data = [] } = useFetch( 'https://hn.algolia.com

    8.8K20发布于 2021-03-02
  • 来自专栏前端开发

    除了Jest,还有哪些工具可用于Mock外部依赖?

    XHR 请求 示例:模拟 API 调用import sinon from 'sinon';import { expect } from 'chai'; // 可配合 Chai 断言库import useFetch /useFetch';import { renderHook, waitForNextUpdate } from '@testing-library/react-hooks';describe('useFetch /mocks/handlers';import useFetch from '. /useFetch';// 创建模拟服务器const server = setupServer(...handlers);// 启动服务器beforeAll(() => server.listen()) /useFetch';test('mocks HTTP request with nock', async () => { // 拦截并模拟请求 nock('https://api.example.com

    36410编辑于 2025-08-17
  • 来自专栏FE情报局

    通过8个常用hook手把手教你封装hooks

    resolve("Hi") : reject("Error") }, 1000) }) }) useFetch 根据我们封装的 useAsync,通过进一步处理,我们还能够得到更好用的 useFetch ,之后在项目中再使用就不需要用自己封装的 fetch.js 了,毕竟其中没有 loading 或者 value 绑定在 state 的操作,可以用更好用的 useFetch const DEFAULT_OPTIONS = { headers: { "Content-Type": "application/json" }, } export default function useFetch(url, options return Promise.reject(res) }) }, dependencies) } 使用方式 const { loading, error, value } = useFetch hook,不要在循环、条件判断或者子函数中调用 只能在 React 的函数组件中调用 hook 不要在其他 JavaScript 函数中调用,当然你也可以在自定义函数中调用自定义 hook,比如我们实现的 useFetch

    2.6K40编辑于 2023-01-31
  • 来自专栏人生代码

    使用Vue 3构建更好的高阶组件

    该fetch组件的setup功能,也能提取到其自身的功能,这就是所谓useFetch: export function useFetch(endpoint) { // same code as the 更新useFetch来反映该页面很有趣,因为它似乎需要跟踪由暴露的新端点usePagination。幸运的是,watch我们已经覆盖了。 更新useFetch来反映该页面很有趣,因为它似乎需要跟踪由暴露的新端点usePagination。幸运的是,watch我们已经覆盖了。 import { watch, isRef } from 'vue'; export function useFetch(endpoint) { // ... useFetch(endpoint); } }; 这是同时做这两项的另一个: import { useFetch, usePagination } from '@/fetch'; export default

    2.2K50发布于 2020-09-15
  • 来自专栏前端开发

    vue hooks 使用方法大全

    常用自定义Hooks示例示例1:useFetch(封装API请求逻辑)// hooks/useFetch.jsimport { ref, onMounted, watch } from 'vue'export function useFetch(url) { const data = ref(null) const loading = ref(false) const error = ref(null /hooks/useFetch'const url = ref('https://api.example.com/data')const { data, loading, error, refetch } = useFetch(url)</script>示例2:useLocalStorage(封装本地存储逻辑)// hooks/useLocalStorage.jsimport { ref, watch 组合复用:多个Hooks可相互组合使用(如useFetch中可调用useLocalStorage缓存数据)。

    73410编辑于 2025-08-12
  • 来自专栏不知非攻

    useEffect 实践案例(2):自定义 hook

    以上一章中的数据处理逻辑为例,我们来封装一个自定义 hook,将其命名为 useFetch function useFetch() {} 我们先考虑单个场景的封装,单纯只是为了让组件看上去更简洁。 /api' export default function useFetch() { const str = useRef('') const [list, setList] = useState : P) => Promise<T> export default function useFetch<T, P>(api: API<T, P>) { const param = useRef<P 你可以根据实际情况往 useFetch 传入默认值,也可以在使用层面初始化默认值 const { loading, setLoading, setParam, list = [], error } = useFetch(searchApi) 这样,一个通用,高效,且具备准确类型提示的 hook 就被我们封装好了。

    39310编辑于 2023-11-24
  • 来自专栏前端达人

    React Hooks 学习笔记 | React.memo 介绍(三 )

    SingleProduct key={product.id} {...product}></SingleProduct> })} ); }); 接下来我们来定义 useFetch 函数,用来获取数据,示例代码如下: import { useState, useEffect, useCallback } from 'react'; export const useFetch = () => { getProducts(); }, [url, getProducts]); return { loading, products }; }; 接下来我们继续,引入 useFetch 函数,通过接口地址获取数据,示例代码如下: const { products } = useFetch(url) 然后我们继续来定义 Index 将数据渲染到子组件中,并定义 count 数据状态 url = 'https://course-api.com/javascript-store-products' const Index = () => { const { products } = useFetch

    98420编辑于 2023-02-17
  • 从Java全栈到Vue3实战:一次真实面试的深度复盘

    比如,我可以写一个`useFetch`的Hook来封装HTTP请求逻辑。 ```vue <script setup> import { ref, onMounted } from 'vue'; import { useFetch } from '@/composables/useFetch '; const users = ref([]); const { loading, error, data } = useFetch('/api/users'); onMounted(() =>

    26510编辑于 2025-09-04
  • 来自专栏code秘密花园

    React 中请求远程数据的四种方法

    那么如何创建一个自定义 useFetch 钩子来简化我们的 HTTP 调用呢? react"; // This custom hook centralizes and streamlines handling of HTTP calls export default function useFetch 看看使用这个 Hook 需要多少代码 : import React from "react"; import useFetch from ". /useFetch"; export default function HookDemo() { const { data, loading, error } = useFetch("users"

    4.5K10发布于 2020-07-24
  • 来自专栏魔术师卡颂

    React18,不远啦?

    什么意思呢,举个例子: 假设我们封装了请求数据的方法useFetch,通过返回值是否存在区分是否请求到数据。 function App() { const data = useFetch(); return {data ? <User data={data}/> : null}; } 为了提高「代码可维护性」,useFetch与要渲染的组件User存在于同一个组件App中。 id || {}; const profile = useFetch(id); return (

    {name}

    {profile 为了提高「请求效率」,我们可以将“请求Profile组件所需数据的操作”提到App组件内,合并在useFetch中: function App() { const data = useFetch()

    79530发布于 2021-07-07
  • 来自专栏前端达人

    5个提升开发效率的必备自定义 React Hook,你值得拥有

    4、用useFetch简化异步数据获取 在现代Web开发中,异步获取数据是一个常见的任务。 解决方案:useFetch useFetch自定义Hook可以帮助我们简化异步数据获取,它抽象了fetch请求的复杂性,并提供了响应数据、错误和加载状态。 实际应用 让我们看看如何在实际组件中使用useFetch。 假设我们需要从API获取数据,并在页面上展示数据列表: const App = () => { const { data, error, loading } = useFetch('https:// 在这篇文章中,我们探索了五个自定义Hook:useLocalStorage、useMediaQuery、useDebounce、useFetch和useToggle。

    2.3K10编辑于 2024-06-14
  • 来自专栏前端劝退师

    React 中请求远程数据的四种方法

    那么如何创建一个自定义 useFetch 钩子来简化我们的 HTTP 调用呢? react"; // This custom hook centralizes and streamlines handling of HTTP calls export default function useFetch 看看使用这个 Hook 需要多少代码 : import React from "react"; import useFetch from ". /useFetch"; export default function HookDemo() { const { data, loading, error } = useFetch("users"

    2.7K30发布于 2020-07-24
  • 从全栈工程师视角看Java与前端技术融合的实战经验

    比如,我们有一个通用的`useFetch`函数,用于封装HTTP请求,支持错误处理、加载状态提示等。 ```ts // useFetch.ts import { ref } from 'vue'; import axios from 'axios'; export function useFetch( ```ts // Home.vue <script setup lang="ts"> import { onMounted, ref } from 'vue'; import { useFetch } from '@/composables/useFetch'; const { data, loading, error, fetchData } = useFetch('/api/products')

    14410编辑于 2025-10-19
  • 来自专栏webTower

    三种React代码复用技术

    改造 App 组件中内容: import React, { useState, useEffect } from "react"; // 自定义的 hook,接收 url 作为参数 function useFetch data); }) },[]); return data; } export function App(){ // 拿到数据 let data = useFetch ; } Hook 也可以返回 jsx,例如: import React, { useEffect, useState } from "react"; function useFetch(url data.map((item, idx) =>

    {item.name} ---> {item.label}

    ) } // 获取到组件 let R = useFetch 当然这里编写的 useFetch 钩子功能一般,类似异步请求的 Hook 可以下载 use-http 这个模块,它的功能很全面。

    2.7K10发布于 2020-04-27
  • Vue3 Composition API 实战指南

    { alert('登录失败:' + result.error) } } </script> 实战场景二:数据获取与缓存 创建一个通用的数据获取 Hook: // composables/useFetch.ts import { ref, watchEffect } from 'vue' export function useFetch(url) { const data = ref(null) const <button @click="refresh">刷新</button>

    </template> <script setup> import { useFetch } from '@/composables/useFetch' const { data, loading, error, refresh } = useFetch('/api/users') </

23510编辑于 2025-12-15
  • 来自专栏前端小菜鸡yym

    swiper + 网易云api 实现音乐卡片[2]

    渲染出如下图的四组卡片,每组下又有7张卡片 // 这是自己封装请求数据的hook const [response] = useFetch(recommendSongs(), {}); const BrowserRouter, Link, useNavigate, } from 'react-router-dom'; import * as React from 'react'; import useFetch /utils/useFetch'; import { recommendSongs } from '../../.. setCurrentPlaying] = useRecoilState(palying); // const [data, setDtata] = useState(); const [response] = useFetch

    1K20编辑于 2023-01-12
  • 来自专栏前端自习课

    【React】2054- 为什么React Hooks优于hoc ?

    columns={columns} data={data} /> ); }; 使用 React Hooks时,一切都为我们展现出来:我们看到了所有传入我们“黑盒子”(这里是 useFetch 即使我们不知道 useFetch 的实现细节,我们清楚地看到了哪些输入进去,哪些输出出来。 即使 useFetch 可以像withFetch和其他 HOC一样被视为黑盒子,但我们仅仅通过一行代码就看到了这个 React Hook 的整个 API 约束。 { data: userProfileData, isLoading: userProfileIsLoading, error: userProfileError } = useFetch { data: userProfileData, isLoading: userProfileIsLoading, error: userProfileError } = useFetch

    97700编辑于 2024-05-27
  • 来自专栏不知非攻

    从 React 新官网学到的一个最佳实践妙招

    我们还可以借助我们之前封装自定义 hook 的思路,进一步简化代码 function ListPart({type}) { const { loading, list = [], error } = useFetch ) => (

    {item}
    )} /> ) } 这里面由于自定义 hook useFetch key={type} />
    ) } function ListPart({type}) { const { loading, list = [], error } = useFetch

    30810编辑于 2024-01-09
  • 领券