1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00

[with-typescript] Updated typescript and removed unused deps (#6116)

I've updated the TypeScript dependency to the latest version. Also
removed some dependencies that may not be needed.

I've also fixed tslint errors which may have appeared because of
previous updates to this starter kit, as well as added comments
to explain some parts of the code.
This commit is contained in:
Resi Respati 2019-01-24 16:18:43 +07:00 committed by Tim Neutkens
parent ca521b36e6
commit 6d41ed7e6f
6 changed files with 39 additions and 21 deletions

View file

@ -1,4 +1,10 @@
// You can include shared interfaces in a separate file and then
// use them in any component by importing them. For example, to
// import the interface below do:
//
// import IDataObject from 'path/to/interfaces';
export default interface IDataObject {
id: number,
id: number
name: string
}

View file

@ -9,7 +9,6 @@
},
"dependencies": {
"@zeit/next-typescript": "^1.1.1",
"lint": "^1.1.2",
"next": "^7.0.2",
"react": "^16.7.0",
"react-dom": "^16.7.0"
@ -17,9 +16,8 @@
"devDependencies": {
"@types/next": "^7.0.6",
"@types/react": "^16.4.16",
"@types/react-dom": "16.0.8",
"eslint": "^5.12.0",
"typescript": "3.2.1"
"@types/react-dom": "16.0.11",
"typescript": "3.2.4"
},
"license": "ISC"
}

View file

@ -1,12 +1,12 @@
import * as React from "react"
import * as React from 'react'
import Link from 'next/link'
import Layout from '../components/Layout';
import Layout from '../components/Layout'
const about : React.FunctionComponent = () => (
const AboutPage: React.FunctionComponent = () => (
<Layout title="About | Next.js + TypeScript Example">
<p>This is the about page</p>
<p><Link href='/'><a>Go home</a></Link></p>
</Layout>
)
export default about;
export default AboutPage;

View file

@ -1,8 +1,8 @@
import * as React from "react"
import * as React from 'react'
import Link from 'next/link'
import Layout from '../components/Layout'
const index: React.FunctionComponent = () => {
const IndexPage: React.FunctionComponent = () => {
return (
<Layout title="Home | Next.js + TypeScript Example">
<h1>Hello Next.js 👋</h1>
@ -11,4 +11,4 @@ const index: React.FunctionComponent = () => {
)
}
export default index;
export default IndexPage;

View file

@ -11,15 +11,22 @@ type Props = {
class ListClass extends React.Component<Props> {
static async getInitialProps({ pathname }: NextContext) {
const dataArray: IDataObject[] =
[{ id: 101, name: 'larry' }, { id: 102, name: 'sam' }, { id: 103, name: 'jill' }, { id: 104, name: pathname }]
// Example for including initial props in a Next.js page.
// Don't forget to include the respective types for any
// props passed into the component
const dataArray: IDataObject[] = [
{ id: 101, name: 'larry' },
{ id: 102, name: 'sam' },
{ id: 103, name: 'jill' },
{ id: 104, name: pathname },
]
return { items: dataArray }
}
render() {
return (
<Layout title="About | Next.js + TypeScript Example">
<Layout title="List Example | Next.js + TypeScript Example">
<List items={this.props.items} />
</Layout>
)

View file

@ -7,17 +7,24 @@ type Props = {
items: IDataObject[],
}
const list: NextFunctionComponent<Props> = ({ items }) => (
<Layout title="About | Next.js + TypeScript Example">
const ListFunction: NextFunctionComponent<Props> = ({ items }) => (
<Layout title="List Example (with Function Components) | Next.js + TypeScript Example">
<List items={items} />
</Layout>
)
list.getInitialProps = async ({ pathname }: NextContext) => {
const dataArray: IDataObject[] =
[{ id: 101, name: 'larry' }, { id: 102, name: 'sam' }, { id: 103, name: 'jill' }, { id: 104, name: pathname }]
ListFunction.getInitialProps = async ({ pathname }: NextContext) => {
// Example for including initial props in a Next.js function compnent page.
// Don't forget to include the respective types for any props passed into
// the component.
const dataArray: IDataObject[] = [
{ id: 101, name: 'larry' },
{ id: 102, name: 'sam' },
{ id: 103, name: 'jill' },
{ id: 104, name: pathname },
]
return { items: dataArray }
}
export default list
export default ListFunction