1.4.2 • Published 4 years ago

reactnextjssnippets v1.4.2

Weekly downloads
10
License
-
Repository
github
Last release
4 years ago

React Snippets for Next.js by iJS

Thanks for giving this a go. Hope this helps and makes your coding more efficient and fun.

Hello.

Animations coming soon.

Pull requests for animations or any other contributions are most welcome!

Installation

  • Launch the Command Pallete (Ctrl + Shift + P or ⌘Cmd + Shift + P) and type "Install Extensions" (or navigate from the sidebar to Extensions tab).
  • In search box type in "iJS" and choose the React Next.js Snippets by iJS
  • Install the extension (you may need to relaunch VS Code)
  • Get a coffee, a cookie and celebrate by writing some Next.js code more effeciently than ever!

Supported languages (file extensions)

  • JavaScript (.js)
  • TypeScript (.ts)
  • JavaScript React (.jsx)
  • TypeScript React (.tsx)

Below is a list of all available snippets and the triggers of each one. The means the TAB key.

Must have React Snippets

TriggerContent
imr→Explicitely import React
imrc→Import React { Component }
imst→(16.8+) useState import
ust→Use (16.8+) useState hook
imeff→(16.8+) useEffect import
imctx→(16.8+) useContext import
uctx→Use React useContext hook
immem→(16.8+) useMemo import
imref→(16.8+) useRef import
imimphan→(16.8+) useImperativeHandle import
imlayeff→(16.8+) useLayoutEffect import
imdebval→(16.8+) useDebugValue import
imt→Import PropTypes
ccClass Component
ccc→Class Component With Constructor
fc→Functional Component
fce→Functional Component as named export
fcde→Functional Component with default export

Next.js-specific Snippets

TriggerContent
imhd→import Head
nhd→Use Head

Next.js getInitialProps()

TriggerContent
gip→getInitialProps() outside component
ccgip→static getInitialProps() inside class component
gipaq→Next.js getInitialProps() withApollo() expose query

Next.js getStaticProps()

TriggerContent
gsp→exports getStaticProps()

Next.js getServerSideProps()

TriggerContent
gssp→exports getServerSideProps()

Next.js getStaticPaths()

TriggerContent
gspaths→exports getStaticPaths()

Next.js Link

TriggerContent
imlnk→import Link
nlnk→Use Link
nlnkpath→Next Link tag with pathname;
nlnkdyn→Next Link tag with dynamic route;

Next.js Router

TriggerContent
imrtr→import Router
nrtr→Declare Next.js Router from useRouter
nqprtr→Destructure Next.js query param from Router from useRouter
imrtrwr→import Router and withRouter HOC
imusrtr→import Router hook
nqprtr→Destructure Next.js query param from Router from useRouter
  • More snippets to come, stay tuned!

Expanded Snippets

imr - Import React - if you must (Next.js imports React implicitly)

import React from "react";

imrc - Import React, Component

import { Component } from "react";

imst - Import { useState }

import { useState } from "react";

ust - React useState

  const [value, setValue] = useState(${1:INITIAL_VALUE});

imeff - Import { useEffect }

import { useEffect } from "react";

imctx - Import { useContext }

import { useContext } from "react";

uctx - React useContext

const | = useContext(|);';

immem - Import { useMemo }

import { useMemo } from "react";

imref - Import { useRef }

import { useRef } from "react";

imimphan - imImport { useImperativeHandle }

import { useImperativeHandle } from "react";

imlayeff - imImport { useLayoutEffect }

import { useLayoutEffect } from "react";

imdebval - imImport { useDebugValue }

import { useDebugValue } from "react";

imt - imImport PropTypes

import PropTypes from "prop-types";

impt - Import PropTypes

import PropTypes from "prop-types";

impc - Import PureComponent

import React, { PureComponent } from "react";

cc - Class Component

class | extends Component {
  state = { | }

  render() {
    return ( | );
  }
}

export default |;

ccc - Class Component With Constructor

class | extends React.Component {
    constructor(props) {
      super(props);
      this.state = { | }
    }
    render() {
        return ( | );
    }
}

export default |;

fc - Functional Component without a state

const | = props => {
  return ( | );
};

export default |;

fcst - Functional Component with a useState hook

import { useState } from 'react';

const | = props => {
  const [value, setValue] = useState(${1:INITIAL_VALUE});

  return ( | );
};

export default |;

imhd - import Next.js Head

import Head from "next/head";

nhd - Use Next.js Head

<Head> | </Head>

gip - getInitialProps() outside component

|.getInitialProps = ({ req }) => {
  return |
}

ccgip - getInitialProps() outside component

static async getInitialProps() { return { | }; }

gipaq - static getInitialProps() inside class component

static async getInitialProps({ Component, ctx }) {",
  let pageProps = {};
  if (Component.getInitialProps) {
    pageProps = await Component.getInitialProps(ctx);
  }

  pageProps.query = ctx.query;
  pageProps.asPath = ctx.asPath;

  return { pageProps };
}

gsp - exports getStaticProps()

export async function getStaticProps(context) {
  return {
    props: { | }, // will be passed to the page component as props
  }
}

gspaths - exports getStaticPaths()

export async function getStaticPaths() {
  return {
    paths: [
      { params: { | } } // See https://nextjs.org/docs/basic-features/data-fetching#the-paths-key-required
    ],
    fallback: | // See https://nextjs.org/docs/basic-features/data-fetching#fallback-true
  };
}

gssp - exports getServerSideProps()

export async function getServerSideProps(context) {
  return {
    props: {}, // will be passed to the page component as props
  };
}

imlnk - import Next.js Link

import Link from "next/link";

nlnk - Use Next.js Link

<Link href="|">
  <a>|</a>
</Link>

nlnkpath - Use Next.js Link With Pathname

<Link href={{ pathname: |, query: { queryName: | } }}>
  <a>|</a>
</Link>

nlnkdyn - Use Next.js LinkTagWithDynmicRoute

<Link href="/|" as={`/|`}>
  <a>|</a>
</Link>

imrtr - importNextRouter

import Router from "next/router";

nrtr - Next.js Router from useRouter

const router = useRouter();

nqprtr - Next.js query param from useRouter

const { $1 } = router.query;

imrtrwr - importNextRouterWithRouter

import Router, { withRouter } from "next/router";

imusrtr - importNextUseRouter

import { useRouter } from "next/router";

iJS.to