美文网首页
React-----Next.js--学习

React-----Next.js--学习

作者: 二营长家的张大炮 | 来源:发表于2019-10-12 16:02 被阅读0次

1.SPA(单页面应用----存在的问题:首屏加载较慢)
Next.js优点:
1.搭建轻松
2.自带数据同步
3.丰富插件
4.灵活配置
2.配置项目
2.1.手动 自己配置

新建文件夹 ----》 npm init ----》安装依赖 npm i --save react react-dom next ----》
配置命令:
     "dev":"next",
    "build":"next build",
    "start":" next start"
----》新建pages文件夹 新建index.js
import React , {useState} from "react";

function App (){
    return (
        <h1>
            Hello World
        </h1>
    )
}

export default  App;

2.2. create-next-app脚手架

npm i -g create-next-app
npx create-next-app reactNextJsApp

3.pages文件夹下创建的文件直接通过路径即可访问


import React,{useState} from "react";

function App (){
   const [name,setName]  = useState("ZPWAN");
   return (
       <div>
           <h1>{name}</h1>
           <button onClick={()=>{setName("Hello"+name)}}>修改</button>
       </div>
   )

}

export default App

通过[http://localhost:3000/zpwan](http://localhost:3000/zpwan)
即可访问  
更深层次的:[http://localhost:3000/blob/index](http://localhost:3000/blob/index)

4.路由跳转

  <Linkhref="/blob/index"><a>link跳转</a></Link>

注意:1.Link标签中不能有多节点

image.png
import Router from "next/router";

 <button onClick={()=>{Router.push("/zpwan")}}>路由跳转</button>

5.路由传参:

   <Link href={"/blob/index?name="+name}>
               <a>Link 跳转</a>
            </Link>

使用withRouter接收
import Header from "../../components/header";
import {withRouter} from "next/router";

const Blob=({router})=>{
    return (
      <div>  
          <Header></Header>
      <h1>
          {router.query.name}
      </h1>
      {/* <button onClick={()=>{Router.push("/zpwan")}}>路由跳转</button> */}
      </div>
    )
}

export default withRouter(Blob)
 Router.push({
            pathname:"/blob/index",
            query:{name:"cessss"}
        })

路由钩子:

routerChangeStart
routerChangeComplete
beforeHistoryChange
routeChangeError
hashChangeStart
hashChangeComplete

添加样式:

1.
import Header from "../../components/header";
import Router, { withRouter } from "next/router";

const Blob = ({ router, list }) => {

    return (
        <div>
            <Header></Header>
            <h1 className="hhhh">
                {router.query.name}
            </h1>
            <button onClick={() => { Router.push("/zpwan") }}>路由跳转</button>
            <style jsx>
                {`
                    .hhhh{
                        color:red
                    }       
                `}
            </style>
        </div>
    )
}

export default withRouter(Blob)

2. npm - --save @zeit/next-css
然后添加下面的配置文件即可成功引入相关css文件了

新建next.config.js配置文件


image.png

设置页面标题

import Head from "next/head";

 <Head>
                <title>这是测试标题</title>
            </Head>

相关文章

  • React-----Next.js--学习

    1.SPA(单页面应用----存在的问题:首屏加载较慢)Next.js优点:1.搭建轻松2.自带数据同步3.丰富插...

  • 学习学习学习

    第三天了,连续三天,早上睁眼开始,看视频,做课件,连续作业,直到晚上十二点才睡觉。吃饭不规律,想起来就吃,感觉不饿...

  • 学习学习学习

    23岁的我,才真正明白,什么是学习,什么是努力,努力和不努力真的不同,就好比同样是一篇稿子,我用一周背下来,有的人...

  • 学习学习学习!

    妈妈总是让我学习,我只能用装当办法。 方法一: 方法二: 方法三: 方法四: ...

  • 学习学习学习

    001.今天看财富自由之路看了第二遍,而且看了一半,算是完成任务很开心。中间有想放弃的念头,坚持看完。眼睛痛,一直...

  • 学习学习学习

    马自达为什么坚持高压缩比自吸

  • 学习!学习!学习!

    学习的痛苦是暂时的 没有学到的痛苦是永恒的 因为学习而特别充实的一天 很踏实 ~~~~ 2015.11.28.阴天...

  • 学习!学习!学习!

    无数次想要去逃离,可这封闭的世界根本出不去。你没有什么可以抛弃、只能咬着牙带着面具微笑的活下去。 没有那个人、他也...

  • 学习学习学习!

    昨天和今天两个上午,都在学习新媒体运营,学习的过程中心里只有一个想法:这也太套路,太功利了吧。可真应了那句话...

  • 学习,学习,学习!

    近期学习重点有两个方面,一方面是把上一个阶段定下任务的几本书读完,并在读的过程中有输出和转化,让阅读和学习真正能有...

网友评论

      本文标题:React-----Next.js--学习

      本文链接:https://www.haomeiwen.com/subject/wkkqmctx.html