0.0.4-dont-use-me2 • Published 2 years ago

xfi v0.0.4-dont-use-me2

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

Introduction

A LightWeight JavaScript State Manager

install

npm install xfi

Usage

import { BaseState, getUseStateManager } from 'xfi';

class Person {
    name: string = '';
}

export default class RootState extends BaseState<Person> {
    protected initialState(): Person {
        return new Person();
    }
}

const rootState = new RootState();

export const useStateManager = getUseStateManager(rootState);
import React from 'react';
import { useStateManager } from './RootState';

export function PersonInfo(props: { name: string, age: number, height: number }) {
    const { name, dispatch } = useStateManager(root => ({
        name: root.state.name,
        dispatch: root.dispatch
    }));

    const onClickToChangeName = () => {
        dispatch({ name: 'xxx' }); // dispatch a new state
    }

    return (
        <div onClick={onClickToChangeName}>{name}</div>
    );
}
0.0.3

2 years ago

0.0.4

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago

0.0.1-alpha.2

2 years ago

0.0.1-alpha.1

2 years ago

0.0.1-alpha

2 years ago