$ npx create-next-app my-app $ cd my-app $ yarn dev
标签跳转css
<Link>
标签进行跳转。新版Next.js规定,在<Link>
内需嵌套<a>
标签import Link from 'next/link' <Link href="/index"><a>跳转</a></Link>
.js
API跳转
使用Router.pushhtml
import Router from 'next/router' <button onClick={()=>{Router.push('/index')}}></button>
标签传参前端
//传参页面 <Link href="/index.js?number=1"><a>传参</a></Link> //也能够写成 //<Link href={{pathname:'/index',query:{number:1}}}> // <a>传参</a> // </Link> ... //接收页面 import {withRouter} from 'next/router' const CPN=({router})=>{ return ( <div>{router.query.number}</div> ) }
API传参node
Router.push({ pathname:'/index', query:{ number: 1 } })
语法ios
Router.events.on('routeChangeStart',()=>{ doSomething... })
全部远端获取的数据都要放在getInitialProps里json
const Cpn.getInitialProps = ()=>{ const promise = new Promise((resolve)=>{ axios(url,(res)=>{ console.log(res.data.xxx) resolve(res.data.xxx) }) }) return promise }
这样操做后,xxx就会成为Cpn的参数对象上的属性了axios
const Cpn = ({xxx})=>{ return <div>{xxx}</div> }
return ( <div></div> <style jsx> {` div { width: 20px; height: 20px;} `} </style> )
{}
和 `
包起来$ yarn add @zeit/next-css
//next.config.js const withCSS = require('@zeit/next-css') if(typeof require !== 'undefined'){ require.extensions['.css']=file=>{} } module.exports = withCSS({})
import Head from 'next/head' function Header()=>( <div> <Head> <title>React,前端,JavaScript</title> <meta name="xxx" /> </Head> <div>首页<div> </div> ) export default Header