From e7b24a85b7d01938f98647c0e48d4686bd3086d3 Mon Sep 17 00:00:00 2001 From: rikako <496063163@qq.com> Date: Thu, 1 Jun 2023 00:52:14 +0800 Subject: [PATCH] =?UTF-8?q?react=20next.js=E6=96=87=E6=A1=A3=E9=98=85?= =?UTF-8?q?=E8=AF=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- react/next.js.md | 70 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 react/next.js.md diff --git a/react/next.js.md b/react/next.js.md new file mode 100644 index 0000000..2871850 --- /dev/null +++ b/react/next.js.md @@ -0,0 +1,70 @@ +# next.js +## Routing +### 创建路由 +next.js使用基于文件系统的路由,文件路径用于定于路由。 +每一个文件夹都代表到一个匹配到`URL segment`的`route segment`,为了创建嵌套路由,可以在文件夹中嵌套文件夹。 +- 例如,app文件夹代表根URL,`app/dashboard/settings`则是代表`/dashboard/settings` +- 而一个page.js文件则是让该route segment可以公共访问。 + +> 如果app/dashboard/路径下存在文件page.js,则是代表该路径/dashboard可以被公共访问,而另一个路径app/analytics下没有page.js文件,则是代表该路径/analytics不能够被公共访问,故而该路径可以被用于存储组件、样式表、图片和其他文件 + +### 创建UI +在位每一个route segment创建UI时,会使用特殊的文件规范,其中,page会用于创建route UI,而layout则是被用于创建被多个route所共享的UI。 + +### pages和layouts +#### pages +page UI每个都唯一对应一个route。可以通过在page.js文件中导出组件来定义page UI,定义page.js可以让该路径变得公共可访问。 +创建page的示例如下: +```tsx +// app/page.tsx +export default function Page() { + return