node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

jumpsuit

Jumpsuit Banner

npm version Build Status npm Jumpsuit on Slack

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

Demo

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)

Tutorial

Examples

Team

Tanner Linsley Jason Maurer
Tanner Linsley Jason Maurer

Used By

Nozzle Logo

License

MIT © Jumpsuit