Skip to content

Latest commit

 

History

History
144 lines (114 loc) · 5 KB

README.md

File metadata and controls

144 lines (114 loc) · 5 KB
Jumpsuit Banner

npm version Build Status npm Jumpsuit on Slack

Jumpsuit is a React framework for efficiently building powerful web applications.

Join us on Slack!

Quick Start

Install to an existing project

$ yarn add jumpsuit
# or
$ npm install --save jumpsuit

Using Create-React-App

# Create a new project with create-react-app
$ create-react-app myProjectName
$ cd myProjectName

# Install Jumpsuit
$ yarn add jumpsuit

# Start the create-react-app dev server
$ yarn start

index.js

// Import Jumpsuit
import React from 'react'
import { Render, State, Actions, Component, Effect } from 'jumpsuit'

// Create a state with some actions
const CounterState = State({
  // Initial State
  initial: { count: 0 },
  // Actions
  increment: ({ count }) => ({ count: count + 1 }),
  decrement: ({ count }) => ({ count: count - 1 })
})

// Create an async action
Effect('incrementAsync', () => {
  setTimeout(() => Actions.increment(), 1000)
})

// Create a subscribed component
const Counter = Component({
  render() {
    return (
      <div>
        <h1>{ this.props.count }</h1>
        <button onClick={ Actions.increment }>Increment</button>
        <button onClick={ Actions.decrement }>Decrement</button>
        <br />
        <button onClick={ Actions.incrementAsync }>Increment Async</button>
      </div>
    )
  }
}, (state) => ({
  // Subscribe to the counter state (will be available via this.props.counter)
  count: state.counter.count
}))

// Compose the global state
const globalState = { counter: CounterState }

// Render your app!
Render(globalState, <Counter/>, 'app')

Live Example on WebpackBin

FAQ

  • What does the Jumpsuit core include?
    • State Management powered by Jumpstate & Redux
    • Routing (React-Router)
    • Rendering/Bootstrapping
    • Hot State Reloading
  • Can I use it with Create React App?
    • You bet! We have an example you can view or drop right into your src directory!
  • But I've already built an app! Can I still use Jumpsuit?
    • Of course! Jumpsuit is not an all or nothing framework and has many levels of buy-in for usefulness. You can easily migrate small parts of your app to use Jumpsuit using only the pieces you need.
  • I love the state management in Jumpsuit, so can I just use that?
    • Of course! Head over to Jumpstate to get started!

Badge

Using Jumpsuit in your project? Show it off!

built with jumpsuit

[![built with jumpsuit](https://img.shields.io/badge/built%20with-jumpsuit-3A54AD.svg)](https://github.com/jumpsuit/jumpsuit)

Examples

Team

Tanner Linsley Jason Maurer
Tanner Linsley Jason Maurer

Used By

Nozzle Logo

License

MIT © Jumpsuit