摘要:原始文檔在現(xiàn)在搬過來學(xué)習(xí)入門學(xué)習(xí)頁面之間的導(dǎo)航學(xué)習(xí)使用共享組件學(xué)習(xí)創(chuàng)建動(dòng)態(tài)內(nèi)容學(xué)習(xí)使用路由掩碼創(chuàng)建干凈的學(xué)習(xí)干凈的服務(wù)器支持學(xué)習(xí)獲取數(shù)據(jù)學(xué)習(xí)部署使用共享組件我們知道是和頁面相關(guān)的通過導(dǎo)出一個(gè)組件創(chuàng)建一個(gè)頁面然后把它放到目錄中基于這個(gè)文件名存
使用共享組件原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來.
學(xué)習(xí) Next.js: 入門
學(xué)習(xí) Next.js: 頁面之間的導(dǎo)航
學(xué)習(xí) Next.js: 使用共享組件
學(xué)習(xí) Next.js: 創(chuàng)建動(dòng)態(tài)內(nèi)容
學(xué)習(xí) Next.js: 使用路由掩碼創(chuàng)建干凈的URL
學(xué)習(xí) Next.js: 干凈URL的服務(wù)器支持
學(xué)習(xí) Next.js: 獲取數(shù)據(jù)
學(xué)習(xí) Next.js: 部署
我們知道 Next.js 是和頁面相關(guān)的. 通過導(dǎo)出一個(gè) React組件創(chuàng)建一個(gè)頁面, 然后把它放到 pages 目錄中, 基于這個(gè)文件名, Next.js存在一個(gè)固定的URL.
因?yàn)閷?dǎo)出的頁面是Javascript模塊, 我們當(dāng)然也能夠?qū)肫渌M件進(jìn)來.
在這節(jié)課中, 我們會(huì)創(chuàng)建一個(gè)共享的頁頭組件, 并在多個(gè)頁面之間共用. 最后我們事先一個(gè)布局組件來看看, 它是如何定義多個(gè)頁面的外觀的.
設(shè)置為了演示這節(jié)課說講的知識(shí)點(diǎn), 我們需要一個(gè)可運(yùn)行的示例應(yīng)用程序, 通過下面的命令來獲取一個(gè)現(xiàn)成的應(yīng)用程序:
git clone https://github.com/arunoda/learnnextjs-demo.git cd learnnextjs-demo git checkout navigate-between-pages
可以通過下面的命令行來運(yùn)行:
npm install npm run dev
訪問 http://localhost:3000.
創(chuàng)建頁頭組件現(xiàn)在, 讓我們來為我們的應(yīng)用程序創(chuàng)建一個(gè)頁頭組件. 添加下面的代碼到 components/Header.js 模塊文件中.
import Link from "next/link" const linkStyle = { marginRight: 15 } const Header = () => ( ) export default Header
該組件包含兩個(gè)鏈接到其他頁面的連接. 我們同時(shí)給兩個(gè)鏈接設(shè)置了一個(gè)樣式對(duì)象, 設(shè)置了它的字體為15.
使用頁頭組件現(xiàn)在, 讓我們?cè)陧撁嬷袑?dǎo)入這個(gè)剛創(chuàng)建的頁頭組件. 現(xiàn)在對(duì)于 pages/index.js, 它的內(nèi)容看起來像下面這樣:
import Header from "../components/Header" export default () => ()Hello Next.js
你可以對(duì) pages/about.js 頁面做同樣的事情. 現(xiàn)在, 如果你訪問 http://localhost:3000/, 你會(huì)看到新的頁頭, 并且能夠在頁面之間進(jìn)行導(dǎo)航.
現(xiàn)在, 我們對(duì)這個(gè)應(yīng)用程序進(jìn)行一些小修改.
停止應(yīng)用程序.
重命名 components 目錄為 comps.
從 ../comps/Header 導(dǎo)入, 而非 ../components/Header
再次啟動(dòng)應(yīng)用程序
它還能工作么?
組件目錄是的, 和之前一樣, 工作正常! 我們不需要把組件放在一個(gè)特殊的目錄下, 組件目錄可以是任意名稱, 唯一特殊的目錄就是 pages 目錄, 你甚至可以在 pages 目錄中創(chuàng)建組件目錄. 這里, 我們沒有直接在 pages 目錄下創(chuàng)建組件目錄是因?yàn)? 我們不需要直接連接到 Header 組件.
布局組件譯注: pages目錄就像Web服務(wù)器的根目錄一樣, 通過自然的目錄/URL路徑, 你可以訪問到 pages 目錄下的組件. 就像Linux文件系統(tǒng)一樣, URL中的PATH和文件系統(tǒng)的路徑是一一對(duì)應(yīng)的.
在我們的應(yīng)用程序中, 我們?cè)诙鄠€(gè)頁面之間共享一個(gè)公共的樣式. 為此我們可以創(chuàng)建一個(gè)公共的布局組件, 并且在多個(gè)頁面使用它. 下面是一個(gè)例子, 添加下面的代碼到 components/MyLayout.js 模塊文件:
import Header from "./Header" const layoutStyle = { margin: 20, padding: 20, border: "1px solid #DDD" } const Layout = (props) => () export default Layout{props.children}
然后, 我們可以像下面一樣, 在我們的應(yīng)用程序頁面中使用這個(gè)布局組件:
// pages/index.js import Layout from "../components/MyLayout.js" export default () => () Hello Next.js
// pages/about.js import Layout from "../components/MyLayout.js" export default () => () This is the about page
訪問 http://localhost:3000/, 看看有什么效果.
現(xiàn)在我們從布局組件中刪除 {props.chidren}, 看看會(huì)發(fā)生什么?
渲染子組件如果你刪除了 {props.chidren}, 布局組件Layout不再渲染它所包含的內(nèi)容:
export default () => () This is the about page
這只是創(chuàng)建布局組件的一種方式. 還有創(chuàng)建布局組件的其他方式:
import withLayout from "../lib/layout" const Page = () => (This is the about page
) export default withLayout(Page)
const Page = () => (This is the about page
) export default () => ()
const content = (使用組件This is the about page
) export default () => ()
上面, 我們提到了, 兩種創(chuàng)建共享組件的方式:
1.作為公共的頁頭組件
2.作為布局組件
你可以把組件用于: 設(shè)置公共樣式, 頁面布局, 以及任何其他你想要的用途. 另外, 你也可以從NPM模塊中導(dǎo)入組件并且使用他們.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/83274.html
摘要:原始文檔在現(xiàn)在搬過來學(xué)習(xí)入門學(xué)習(xí)頁面之間的導(dǎo)航學(xué)習(xí)使用共享組件學(xué)習(xí)創(chuàng)建動(dòng)態(tài)內(nèi)容學(xué)習(xí)使用路由掩碼創(chuàng)建干凈的學(xué)習(xí)干凈的服務(wù)器支持學(xué)習(xí)獲取數(shù)據(jù)學(xué)習(xí)部署頁面之間的導(dǎo)航現(xiàn)在我們知道了如何創(chuàng)建一個(gè)應(yīng)用程序并且運(yùn)行它我們的示例應(yīng)用程序只有一個(gè)簡(jiǎn)單的頁面但 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來. 學(xué)習(xí) Next.js: 入門學(xué)習(xí) Next.js: ...
摘要:原始文檔在現(xiàn)在搬過來學(xué)習(xí)入門學(xué)習(xí)頁面之間的導(dǎo)航學(xué)習(xí)使用共享組件學(xué)習(xí)創(chuàng)建動(dòng)態(tài)內(nèi)容學(xué)習(xí)使用路由掩碼創(chuàng)建干凈的學(xué)習(xí)干凈的服務(wù)器支持學(xué)習(xí)獲取數(shù)據(jù)學(xué)習(xí)部署創(chuàng)建動(dòng)態(tài)頁面現(xiàn)在我們知道了如何使用多個(gè)頁面創(chuàng)建一個(gè)基本的應(yīng)用程序?yàn)榱藙?chuàng)建頁面我們需要在磁盤上創(chuàng)建 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來. 學(xué)習(xí) Next.js: 入門學(xué)習(xí) Next.js: ...
摘要:原始文檔在現(xiàn)在搬過來學(xué)習(xí)入門學(xué)習(xí)頁面之間的導(dǎo)航學(xué)習(xí)使用共享組件學(xué)習(xí)創(chuàng)建動(dòng)態(tài)內(nèi)容學(xué)習(xí)使用路由掩碼創(chuàng)建干凈的學(xué)習(xí)干凈的服務(wù)器支持學(xué)習(xí)獲取數(shù)據(jù)學(xué)習(xí)部署哪位分高的幫忙創(chuàng)建一個(gè)的標(biāo)簽謝謝現(xiàn)暫時(shí)放在標(biāo)簽下面了新建文章有時(shí)間限制一會(huì)全部發(fā)上來這是最近兩天 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來. 學(xué)習(xí) Next.js: 入門學(xué)習(xí) Next.js: ...
摘要:無數(shù)的模板語言和框架應(yīng)運(yùn)而生但是技術(shù)始終被分割為前端和后端。這意味著一個(gè)頁面可以有很多的這并不會(huì)對(duì)其余的頁面有任何影響。提前綁定和編譯預(yù)測(cè)是一個(gè)非常有效的部署方式。最后,這是我們對(duì)于這個(gè)特定問題的貢獻(xiàn)。 Next.js 原文地址 Naoyuki Kanezawa (@nkzawa), Guillermo Rauch (@rauchg) 和 Tony Kovanen (@tonykova...
摘要:原始文檔在現(xiàn)在搬過來學(xué)習(xí)入門學(xué)習(xí)頁面之間的導(dǎo)航學(xué)習(xí)使用共享組件學(xué)習(xí)創(chuàng)建動(dòng)態(tài)內(nèi)容學(xué)習(xí)使用路由掩碼創(chuàng)建干凈的學(xué)習(xí)干凈的服務(wù)器支持學(xué)習(xí)獲取數(shù)據(jù)學(xué)習(xí)部署為頁面獲取數(shù)據(jù)得益于路由的優(yōu)點(diǎn)我們知道了如何創(chuàng)建一個(gè)具有簡(jiǎn)介的應(yīng)用程序?qū)嶋H上我們通常需要從遠(yuǎn)程數(shù) 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來. 學(xué)習(xí) Next.js: 入門學(xué)習(xí) Next.js: ...
閱讀 1058·2021-11-12 10:34
閱讀 985·2021-09-30 09:56
閱讀 668·2019-08-30 15:54
閱讀 2602·2019-08-30 11:14
閱讀 1465·2019-08-29 16:44
閱讀 3203·2019-08-29 16:35
閱讀 2489·2019-08-29 16:22
閱讀 2441·2019-08-29 15:39