Skip to content

Interface implementation between Contao Backend and Next.js (or any React-like PWA)

License

Notifications You must be signed in to change notification settings

delude88/use-contao-next

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

use-contao-next

This package provides an example implementation using React Hooks inside Next.js.

Requirements

A valid contao installation with the Contao Content API extension installed.

Using next.js the Contao API can be fetched on build time, when rendering on server (SSR) or even on the client side (CSR). See the example implementation for more details.

Further goals

Currently the hooks are extended with data models and dynamic resolving of pages using slugs. Further a dynamic binding shall be implemented to assign different Contao Content Elements to JSX Components.

Example

Live Example

Using example

The example requires an existing installation of Contao 4.4+ and the Contao Content API. You can install the Contao Content API by using the Contao Manager or the composer CLI:

composer require dieschittigs/contao-content-api

To build the example, run

npm run build

Then the example can be started using

cd example && npm run start

When building the example the resulting pages will be:

Page                                                           Size     First Load
┌ ○ /                                                          1.83 kB     80.8 kB
├   /_app                                                      11.2 kB       79 kB
├ ○ /404                                                       3.15 kB     82.1 kB
├ ○ /csr                                                       451 B       84.6 kB
├ ○ /csr/another                                               457 B       84.6 kB
├ ○ /csr/context                                               419 B       84.5 kB
├ ○ /csr/context/another                                       425 B       84.5 kB
├ λ /page/[...slug]                                            343 B       79.3 kB
├ λ /ssr                                                       416 B       84.5 kB
├ λ /ssr/another                                               500 B       84.6 kB
├ ● /static                                                    393 B       84.5 kB
└ ● /static/another                                            397 B       84.5 kB

λ  (Lambda)  server-side renders at runtime (uses getInitialProps or getServerSideProps)
○  (Static)  automatically rendered as static HTML (uses no initial props)
●  (SSG)     automatically generated as static HTML + JSON (uses getStaticProps)

About

Interface implementation between Contao Backend and Next.js (or any React-like PWA)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published