1.3.0 • Published 3 years ago

@ithreat/use-results v1.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

use-results

Made with create-react-library

NPM JavaScript Style Guide

Install

npm install --save use-results

Usage

import React, { useContext } from 'react';
import { useResults } from '@ithreat/use-results';
import {StitchContext} from '@ithreat/stitch-provider';
import { useQuery } from '@ithreat/use-query';
import {ToastContext} from '@ithreat/toast-provider';

const App = () => {
  const {db} = useContext(StitchContext);
  const {toast} = useContext(ToastContext);

  const queryHook = useQuery({
      collection: 'collection-name',
      baseQuery: {owner: 'company-name'},
      defaultSortField: 'field-name',
      defaultSortOrder: -1,
      defaultPageSize: 50,
      db,
      toast,
  });

  const onChangePage = (hook) => {
      const { sortBy, pageSize, page } = hook;
      queryHook.runQuery({
          query: queryHook.query,
          page,
          sortBy,
          pageSize,
      });
  };

  const resultsHook = useResults({
      defaults: {
          results: [],
          page: 1,
          pageSize: 50,
          sortBy: 'field-name',
      },
      watch: {collection: db.collection('collection-name')},
      hook: queryHook,
      onChangePage: onChangePage,
  });

  return (
    <div>
      Hook used for storing results from a query including functionality for pagination.
    </div>
  )

};

export default App;

License

MIT © djm-ithreat