国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

學(xué)習(xí) Next.js: 使用共享組件

Steve_Wang_ / 1794人閱讀

摘要:原始文檔在現(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) => (
  
{props.children}
) export default Layout

然后, 我們可以像下面一樣, 在我們的應(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

相關(guān)文章

  • 學(xué)習(xí) Next.js: 頁面之間的導(dǎo)航

    摘要:原始文檔在現(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: ...

    layman 評(píng)論0 收藏0
  • 學(xué)習(xí) Next.js: 創(chuàng)建動(dòng)態(tài)內(nèi)容

    摘要:原始文檔在現(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: ...

    caohaoyu 評(píng)論0 收藏0
  • 學(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: ...

    Miracle 評(píng)論0 收藏0
  • 【翻譯】Next.js背后的哲學(xué)和設(shè)計(jì)

    摘要:無數(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...

    plokmju88 評(píng)論0 收藏0
  • 學(xué)習(xí) Next.js: 獲取數(shù)據(jù)

    摘要:原始文檔在現(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: ...

    NotFound 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<