Skip to content

πŸ”Œ A connector for live editing React-based SSGs in CloudCannon

Notifications You must be signed in to change notification settings

CloudCannon/react-connector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CloudCannon React Connector

npm version install size npm downloads

Using a React based SSG? Want to see give your editors a live visual editing experience? Use the React Connector and connect CloudCannon.

Installation

npm i @cloudcannon/react-connector

Next JS Integration

Update the code in pages/_app.jsx from:

export default function App({ Component, pageProps }) {
	return <Component {...pageProps} />
}

to:

import { CloudCannonConnect } from '@cloudcannon/react-connector'

export default function App({ Component, pageProps }) {
	const AppComponent = CloudCannonConnect(Component);
	return <AppComponent {...pageProps}/>
}

In CloudCannon will now push through new page props from your editors updates.

CloudCannon options

By default CloudCannon passes through processed markdown as HTML and new files as blobs. Both of these options are configurable using the valueOptions parameter. If you have a markdown processor built into your component set keepMarkdownAsHTML to false, this will prevent any double processing conflicts.

import { CloudCannonConnect } from '@cloudcannon/react-connector'

export default function App({ Component, pageProps }) {
	const AppComponent = CloudCannonConnect(Component, {
		valueOptions: {
			keepMarkdownAsHTML: false,
			preferBlobs: true
		}
	});
	return <AppComponent {...pageProps}/>
}

Modifying the props

If your props are modified in the getStaticProps function you can mirror those same operations. Below is an example of the processProps function which is passed the props before it is injected into the new props. This defaults to an identity function which passes the props directly through.

import { CloudCannonConnect } from '@cloudcannon/react-connector'

export default function App({ Component, pageProps }) {
	const AppComponent = CloudCannonConnect(Component, {
		processProps: (props) => {
			return props;
		}
	});
	return <AppComponent {...pageProps}/>
}

About

πŸ”Œ A connector for live editing React-based SSGs in CloudCannon

Resources

Stars

Watchers

Forks

Packages

No packages published