title: next.js入门php
yarn next react react-dom --save
{ "scripts": { "dev": "next", "build": "next build", "start": "next start" } }
默认状况下:html
// ./page/index.js var num = 1 num ++ console.log(num) function click () { console.log(num++) } export default () => ( <div onClick={click}>Hello Next.js</div> )
yarn dev yarn dev -p 8080 // 指定端口号
pathname - URL 的 path 部分
query - URL 的 query 部分,并被解析成对象
asPath - 显示在浏览器中的实际路径(包含查询部分),为String类型
req - HTTP 请求对象 (只有服务器端有)
res - HTTP 返回对象 (只有服务器端有)
jsonPageRes - 获取数据响应对象 (只有客户端有)
err - 渲染过程当中的任何错误前端
import {Component} from 'react' export default class App extends Component { static async getInitialProps(obj) { console.log(obj) console.log('where called') var fetch = (url) => { return new Promise((res, rej) => { res('获取数据而后渲染') }) } let response = await fetch('/static/demo.json') console.log(response) return {response} } state = { num: 1 } add = () => { this.setState((state) => { return state.num++ }) } render () { return ( <div> <div>{this.props.response}</div> <div>{this.state.num}</div> <button onClick={this.add}>++</button> </div> ) } }
如下是主要部分,能够看出数据是被预先渲染好的。react
<div>获取数据而后渲染</div><div>1</div><button>++</button></div></div>
Next.js 支持 IE11 和全部的现代浏览器使用了@babel/preset-env。为了支持 IE11,Next.js 须要全局添加Promise的 polyfill。有时你的代码或引入的其余 NPM 包的部分功能现代浏览器不支持,则须要用 polyfills 去实现。git
原文连接es6
【完】 喜欢的欢迎 star && issuegithub
做者简介:叶茂,芦苇科技web前端开发工程师,表明做品:口红挑战网红小游戏、服务端渲染官网、微信小程序粒子系统。擅长网站建设、公众号开发、微信小程序开发、小游戏、公众号开发,专一于前端领域框架、交互设计、图像绘制、数据分析等研究。 一块儿并肩做战: yemao@talkmoney.cn 访问 www.talkmoney.cn 了解更多web