@parse/react-ssr
TypeScript icon, indicating that this package has built-in type declarations

0.0.1-alpha.18 • Public • Published

Parse Platform

@parse/react-ssr (alpha)

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).

NPM Version

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:

Example

See a Todo List Example.

Readme

Keywords

Package Sidebar

Install

npm i @parse/react-ssr

Weekly Downloads

110

Version

0.0.1-alpha.18

License

MIT

Unpacked Size

13.7 kB

Total Files

6

Last publish

Collaborators

  • dplewis
  • davimacedo
  • mtrezza
  • parseadmin