·

Fetching data from App Router client component in Nextjs

发布时间:2024-07-20 18:10:43阅读量:377
专业文章
转载请注明来源

App Router is a new feature of Next.js since Next.js 13. It works within the app directory of the application. However, compared to Page Router, Nextjs documentation is lacking sufficient illustrations. For example, in server component of App Router, you can directly call fetch to fetch data from api. But when it comes to fetching data in client component, the documentation just claiming that you need to call a Route Handler from a client component, and the other doc does not actually contain any such example.

There are two ways to fetch data on a client component in App Router. The most easiet one is to use a third-party library such as SWR. However, in this article, we will give you a short tutorial on how to fetch data on a client component using Route Handler.

First, create a new folder api in the app directory. Then depending on your requirement, you can also create a folder login in api. Next, to complete creating a Route Handler, create a new file route.js|ts in the login directory. Then your folder structure will like the following:

\app
   \api
      \login
          route.js|ts

Now, add the following to your route.js|ts:

export async function GET() {
    const res = await fetch('https://www.example.com/api/...', {
      headers: {
        'Content-Type': 'application/json',
      },
    })
    const data = await res.json()
   
    return Response.json({ data })
}

Finally, call the Route Handler you defined in a client component as follows:

"use client";

export default function Page({ children }: { children: any }) {
  fetch('/api/login')
  .then((res)=>
    res.json()
  )
  .then((data)=>{
    console.log(data)
  })
}

You can see that creating a Route Handler is indeed creating a new route and URL in your application. Then to use the Route Handler to fetch data, you just need to call the URL you defined. In other words, calling a Route Handler means calling its URL.

0 人喜欢

评论区

暂无评论,来发布第一条评论吧!

弦圈热门内容

分析学大师Elias M. Stein的分析系列教材

分析学大师Elias M. Stein(曾是陶哲轩的老师),写了四本分析学系列教材,统称为普林斯顿分析学讲座(Princeton Lectures in Analysis)。他们分别是:I Fourier Analysis:An Introduction II Complex Analysis III Real Analysis: Measure Theory, Integration, and Hilbert Spaces IV Functional Analysis: Introduction to Further Topics in Analysis当时集齐这四本书花了我不少时间,似乎这四本书知名度不一,我下的第一本是复分析教材Complex Analysis。现在我将这些好东西拿出来分享给有需要的人。PS:如果需要中译版的,目前只能找到《实分析》和《复分析》两本,链接:伊莱亚斯 M. 斯坦恩(Elias M. Stein)《复分析》与《实分析》教材

望月新一关于abc猜想的天书证明:宇宙际Teichmüller理论

望月新一以及他的Inter-universal Teichmüller Theory(宇宙际Teichmüller理论)可以说是非常出名,相较于费马大定理证明的晦涩难懂,宇宙际Teichmüller理论才算是真正的天书,全世界没几个人能看得懂,就连大佬Faltings都看不懂。望月新一是Faltings的学生,Faltings以“暴力横推”的风格闻名,张寿武说过Faltings的风格就像直接开着推土机把山碾平了过去。并且Faltings看论文都是只看前沿(introduction)就能知道整篇论文的主要定理,甚至还能直接证出来。见望月新一与他天书般的论文,展现了纯数学与我们的距离可见Inter-universal Teichmüller Theory有多难懂,它涉及到代数几何一个高深的领域:远阿贝尔几何(anabelian geometry),顾名思义就是考虑平展基本群$\pi_{1}^{et}(X,x)$远离阿贝尔的部分,远阿贝尔几何源于Grothendick的一封入职信Esquisse d'un Programme,他于其中提出一个宏大的理论,然而最终他却没能将其实现。而望月新一可 ...

怀尔斯的费马大定理证明

费马大定理的证明可以说是算术几何的一个重要里程碑,当年怀尔斯虽然很小的时候就被该问题所吸引,从而选择做一个数学家。但作为一个这么多年都无人能破解的难题,怀尔斯也是兜兜转转,他也没一开始就打算攻克这个猜想。据说,是代数几何取得突破性进展之后,他才觉得是时候攻克费马大定理了。最后他成功证明了谷山-志村猜想,从而证明了费马大定理。可以说怀尔斯能证明费马大定理,是刚好生在一个合适的时代,并站在了巨人的肩膀上,从前人手中接过火炬。怀尔斯关于费马大定理的证明,就是这篇论文Modular elliptic curves and Fermat’s Last Theorem。该论文非常晦涩难懂,没多少人能看得懂,可以说能彻底看懂费马大定理证明的人,都是圈内大佬。论文中涉及的知识面很广,包括椭圆曲线、模形式、伽罗华表示论、代数数论、类域论、群概形等等,想要理解费马大定理就得先理解前面这些理论。不过虽然我们看不懂,但该证明还是非常具有收藏价值的,看不懂也能看,也能欣赏嘛。并且对于做算术几何的人来说,可以用这篇论文来指导自己的学习和研究。Peter Scholze当年不也一上来就看费尔马大定理的证明,虽然un ...

评审8年终获发表,数学天才望月新一证明abc猜想,全球只有十几个数学家读懂但争议未消

abc猜想,数学界悬而未决的重要猜想,它的证明过程经过8年的同行评审,终于要在期刊上发表了。论文作者是日本的天才数学家望月新一,他33岁起就在京都大学担任数学教授。这一次望月新一的证明,全篇超过600页,2012年就已发表,但足足经过了8年的同行评审才通过,期间开过多次研讨会——但依然有很多数学家无法理解。据说,这篇论文全球只有十几位数学家深入研究了证明过程。许多数学家根本无法指出证明过程是对是错,因为根本看不懂。4月3日,日本京都大学召开了新闻发布会,宣布望月新一证明了它。包括Nature等在内的权威科学传媒组织,也这一重要进展进行了报道。望月新一没有出席昨天的发布会,他的另外两位同事说,当他知道自己的论文被接收,终于松了一口气。多年来他从未在公众场合露面。但也不是没有争议,因为当初接收论文的期刊——日本的PRIMS,主编正是望月新一本人。如果他的证明是正确的,那么将彻底改变数论。同时也正因为如此,才有了学界长达8年的争论。什么是abc猜想?abc猜想,最初由法国数学家约瑟夫·奥斯特莱和大卫·马瑟,在1985年提出。并且一经提出,abc猜想就成为数论领域的重要猜想之一。只是和哥德巴赫 ...

望月新一与他天书般的论文,展现了纯数学与我们的距离

导语:一位日本数学家声称已经解决了数学领域最重要的问题之一。但是,几乎无人能懂他的证明,无从判断对错。2012年8月30日的早晨,望月新一悄悄地在自己的网站上发布了4篇论文,总计长达500多页,密密麻麻地布满了各种符号。它们是作者孤独工作了十多年后的成果,可能会在学术界引起爆炸性的影响。在文中,望月新一声称解决了abc猜想——一个27年来在数论领域一直悬而未决的问题,令所有其他数学家都束手无策。如果望月新一的证明是正确的,它将是本世纪最令人震撼的数学成果之一,或将彻底改变整数方程的研究。David Parkins不过,望月新一本人并未对自己的证明大做文章。他任职于日本京都大学数理解析研究所(RIMS),是一位令人尊敬的数学家。他没有向全世界的同行宣布自己的研究成果,只是将论文发布在网上,等待世界去发现。第一个注意到他的论文的可能是玉川安骑男(Akio Tamagawa)——望月新一在RIMS的同事。和其他研究人员一样,玉川安骑男知道望月新一多年来一直在潜心钻研abc猜想,并且已近成功。当天,玉川安骑男通过电子邮件把这个消息发给了他的合作者之一、诺丁汉大学数论理论家Ivan Fesenk ...

Grothendick经典同调代数文章:Some aspects of homological algebra

这是Grothendick著名的关于同调代数的文章Tôhoku paper的英文翻译版,原文是法语版,标题为Sur quelques points d'algèbre homologique。英文翻译为:Some aspects of homological algebra。该文章概述了很多同调代数的重要概念,其中基本都跟代数几何有联系,并且里面不少概念其实是Grothendick本人提出来的,如abelian categories。可以说这篇文章是同调代数的经典文章,在数学圈内也时常有人推荐看这篇文章,毕竟这可是祖师爷亲自从同调代数的基础概念一步步讲起,这对学同调代数或者代数几何的人都有很大裨益。我收藏这篇文章的时候都2021年了,现在拿出来推荐给大家!之后我还会把法语原版也发出来。

10月底至11月初,弦圈功能更新:上传附件

最近我们将给“写帖子”添加一个新的功能:上传附件。也就是说,以后在弦圈用户可以上传自己写的pdf版或者doc版的文章,或者是可以分享自己收藏的电子书。至此,弦圈将同时兼顾为一个资源型网站,大家可以在弦圈的帖子中寻找相关的资源(如电子书、notes等)进行下载。附件的下载可以设置条件,如回复后才可下载,支付金币可下载等。之后为了更好的体验,我们计划引入智力(经验)和货币系统。货币暂分为金币和弦币,其中金币为免费的,所谓“书中自有黄金屋”,签到可获得智力值,而智力值又能产生金币😇。最后,如果上传的附件存在侵权等问题,请联系删除。注意,最新帖子泛函分析教材Functional Analysis Notes(2011)为测试贴(下图为测试画面),新功能将马上上线😃。11月2日:新功能已于昨日更新完成,欢迎尝试使用!😃

英语不好,读不懂英文数学教材怎么办?

问题:最近我得到一本英文 GTM1 的 PDF。起初我截图发到微信上,再通过机翻来阅读。后来觉得麻烦,就打印下来。结果它马上给我一个下马威。第三节开头给了一个定义,然后就出现了一个长达三行半的复杂句子,我辛辛苦苦把每个不认识的词都标出来,但是除了开头的「定义 3.1 是不完全的」,后面我就不知道它说的是什么了。而且我发现书里面有很多很多我不认识的词,一个一个查只怕一年也读不完。经常在知乎看到「数学书是所有英文教材里文字最好懂的」这样的评论,大概我的英语水平太差了吧。(我的英语水平:我现在初三,120分的试卷一般考110~112)所以现在我应该怎么办?怎样比较快速地提高英语水平使得我能够看懂数学书。(补充一句:我的数学水平对看书不是很成问题)我的回答:看不懂英文怎么办?那就老老实实遇到不懂的单词,就查一下什么意思,然后拿个笔记本记下来,这样还能方便偶尔复习巩固记忆。每次遇到不懂的单词,就这样操作,时间长了有感觉了,就可以不记笔记了,遇到不懂的查,脑子过一遍,继续看,代入到语境中去理解。你是初三,真巧我看人生中第一本数学英文教材的时候也是初三,当时刚刚中考完,我还依稀记得当时看的教材是泛函 ...