@parse/react-ssr
v0.0.1-alpha.18
Published
An experimental package that provides you easy, real-time, offline-first interaction with the powerful Parse Server backend from your React with SSR applications (e.g. Next.js).
Downloads
629
Readme
Getting Started (Next.js)
First, install the parse and @parse/react-ssr npm modules into your Next.js application.
npm install parse @parse/react-ssr --save
Now you are ready to use a Parse Query:
import Parse from 'parse';
import { initializeParse, encodeParseQuery, useParseQuery } from '@parse/react-ssr';
initializeParse( // We need to initialize Parse
'YOUR_SERVER_URL',
'YOUR_APPLICATION_ID',
'YOUR_JAVASCRIPT_KEY'
);
export async function getServerSideProps() {
const parseQuery = new Parse.Query('SomeClass');
return {
props: {
parseQuery: await encodeParseQuery(parseQuery) // Return encoded Parse Query for server side rendering
}
};
};
export default function SomePage({ parseQuery }) {
const {
isLive, // Indicates that Parse Live Query is connected
isLoading, // Indicates that the initial load is being processed
isSyncing, // Indicates that the library is getting the latest data from Parse Server
results, // Stores the current results in an array of Parse Objects
count, // Stores the current results count
error, // Stores any error
reload // Function that can be used to reload the data
} = useParseQuery(
parseQuery, // The Parse Query to be used
{
enabled: true, // Enables the parse query (default: true)
enableLocalDatastore: true, // Enables cache in local datastore (default: true)
enableLiveQuery: true // Enables live query for real-time update (default: true)
}
);
return (
<div>
{isLoading && (
<p>Loading...</p>
)}
{isLive && (
<p>Live!</p>
)}
{isSyncing && (
<p>Syncing...</p>
)}
{results && (
<ul>
{results.map(result => (
<li key={result.id}>
{result.get('someField')}
</li>
))}
</ul>
)}
<p>{count}</p>
{error && (
<p>{error.message}</p>
)}
<button
onClick={reload}
>
Reload
</button>
</div>
);
};
Learning More
This package aims to provide easier access to a Parse Server backend when developing React with SSR applications (e.g. Next.js). It was built on top of the official Parse JS SDK. These two libraries should be used together and you can refer to the sdk documentation in order to learn more about Parse Objects, Parse Queries, and more:
- Learn more about Parse Objects;
- Learn more about Parse Queries.
Example
See a Todo List Example.