项目作者: ruanyl

项目描述 :
Create immutable state easily
高级语言: TypeScript
项目地址: git://github.com/ruanyl/create-state.git
创建时间: 2018-04-24T19:24:31Z
项目社区:https://github.com/ruanyl/create-state

开源协议:MIT License

下载


" class="reference-link">Create Immutable State Easily travis-ci

An utility to easily create immutable state for Redux

Usage

Primitive types

  1. Define the State
    ```typescript
    import { createState, StateObject } from ‘immutable-state-creator’

const State = createState(‘User’, {
name: ‘my name’,
age: 10,
languages: [‘English’],
pets: List.of(‘cat’),
active: true,
})

  1. 2. Create initial state
  2. ```typescript
  3. const initState = State.create()
  1. Use getter to select value

    1. expect(State.get('age')(initState)).toBe(10)
    2. expect(State.get('name')(initState)).toBe('my name')
  2. Use setter to update a value

    1. const newState = State.set('age', 20)(initState)
    2. expect(State.get('age')(newState)).toBe(20)

Toggle boolean value

  1. const initState = State.create()
  2. expect(initState.active).toBe(true)
  3. const newState = State.toggle('active')(initState)
  4. expect(newState.active).toBe(false)