Download Latest Version v3.2.0 source code.zip (785.7 kB)
Email in envelope

Get an email when there's a new version of After.js

Home / v3.1.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2020-06-28 1.8 kB
Transition Behavior source code.tar.gz 2020-06-28 1.4 MB
Transition Behavior source code.zip 2020-06-28 1.5 MB
Totals: 3 Items   2.9 MB 0

isLoading prop now gets injected to page components

isLoading prop shows that if getInitialProps is in pending state or not

:::jsx
function HomePage({ isLoading, error, data }) {
  if (isLoading) {
    return <Spinner />
  }

  if (error) {
    return <span>something went wrong</span>
  }

  return <MyComponent data={data} />
}

HomePage.getInitialProps = () => {
  try {
    const { data } = await fetchHomePage();
    return { data }
  } catch (error) {
    return { error }
  }
}

New transitionBehavior prop on <After />

:::jsx
// transitionBehavior: instant | blocked

<After transitionBehavior="instant" /> // default is `blocked`

blocked behavior (default):

navigation event occurs -> wait until getInitailProps get finished -> render the next page with injected props (I mean results of the getInitailProps)

blocked

instant behavior: navigation event occurs -> call getInitailProps -> render the next page -> re-render component when getInitailProps is finished with injected props

instant

Minor Changes

  • Feat(after): add TransitionBehavior type: [27d0c6]
  • Feat(after): add logic for instant transition: [b335f4]
  • Feat(after): pass transitionBehavior to render render page: [6b37ea]
  • Feat(after): add isInstantTransition utility func: [30d906]
  • Feat(after): clean up render method: [5a64ed]
  • Feat(after): add isLoading state: [95dea9]
  • Merge pull request [#348] from jaredpalmer/feature/transition-behavior: [639d34]
Source: README.md, updated 2020-06-28