UNPKG

@kineticdata/react

Version:
111 lines (87 loc) 2.86 kB
# @kineticdata/react [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![NPM Version](https://img.shields.io/npm/v/@kineticdata/react/latest.svg)](https://opensource.org/licenses/MIT) A reactJS library that makes it super simple to interact with the [Kinetic Platform](https://kineticdata.com/platform/) within your sites and applications. ## [Docs](https://kineticdata.github.io/react-kinetic-lib) Embedded in the React component library is an interactive styleguide and documentation system that allows you to see the components and manipulate them. ### Run and View Docs Locally To use this styleguide simply run `yarn start` and connect to `http://localhost:8000`. ## Install Via [npm](https://npmjs.com/package/@kineticdata/react) ```bash npm install @kineticdata/react ``` Via [Yarn](http://yarn.fyi/@kineticdata/react) ```bash yarn add @kineticdata/react ``` ## Quick Start ### `KineticLib` The `KineticLib` Provider provides a global context to your site or applications connection to the Kinetic Platform. ```js static import React from 'react'; import { KineticLib } from '@kineticdata/react'; import { Router, Route, Switch } from 'react-router-dom'; import Space from './Space'; import Kapp from './Kapp'; // @see the Kapp component defined in `Kapp` example below export const clientId = process.env.NODE_ENV === 'development' ? 'kinetic-bundle-dev' : 'kinetic-bundle'; const App = () => ( <KineticLib clientId={clientId}> {({ loggedIn, loggingIn, loginProps }) => ( <Router> {loggingIn ? ( <LoginLoading /> ) : !loggedIn ? ( <LoginScreen {...loginProps} /> ) : ( <Switch> <Route path="/" component={Space} /> <Route path="/kapps/:kappSlug" component={Kapp} /> </Switch> )} </Router> )} </KineticLib> ); export default App; ``` ### API's All Service API's are exposed as functions to perform CRUD operations within the platform. ```js static import React from 'react'; import { fetchKapp } from '@kineticdata/react'; class Kapp extends React.Component { constructor(props) { super(props); this.state = { kapp: {} }; } componentDidMount() { const { kapp } = fetchKapp(this.props.kappSlug, { include: 'details,forms', }); this.setState({ kapp }); } render() { const { kapp } = this.state; return ( <div> <h1>{kapp.slug}</h1> <ul> {kapp.forms.map(form => ( <li>{form.name}</li> ))} </ul> </div> ); } } export default Kapp; ``` ## Development / Contributing See the [Contributing](/#/Contributing) page for information on developing the component library. ## License MIT © [Kinetic Data](https://kineticdata.com)