reststate
TypeScript icon, indicating that this package has built-in type declarations

4.0.3 • Public • Published

deprecated

this module is deprecated please use

reststate

state managment for react apps

install

npm i reststate --save

use

import { init, state } from "reststate";
...
init({
  name: "hello"
});
...
state.hello="Hello world"
...
console.log(state.hello)

inits

/**
 * initial new state just for example
 * this is a stack with maximum length 4
 * and return any time last item of stack
 */
inits([
  {
    name: "state1",
    defaultValue: 0
  },
  {
    name: "state2",
    defaultValue: {}
  }
]);

connect

import connect from "jetstate/connect";
 
class app extends React.Component {
  stateChange = () => {
    console.log("ok");
    this.forceUpdate();
  };
  render() {
    return (
      <View>
        <Text>{state.state1}</Text>
        <Button
          title={"add"}
          onPress={() => {
            state.state1 += 1;
          }}
        />
      </View>
    );
  }
}
export default connect(
  app,
  ["state1"]
);
//refresh component any time state changed

connectInline

import connectInline from "jetstate/connectInline";
 
class app extends React.Component {
  constructor(props) {
    super(props);
    this.unsubscribe = connectInline(this, [
      { name: "state1", callback: this.stateChange },
      "state2"
    ]);
  }
  stateChange = () => {
    console.log("ok");
    this.forceUpdate();
  };
  render() {
    return (
      <View>
        <Text>{state.state1}</Text>
        <Button
          title={"add"}
          onPress={() => {
            state.state1 += 1;
          }}
        />
      </View>
    );
  }
  componentsWillUnmount() {
    this.unsubscribe();
  }
}
export default app;
//runs stateChange when state update recommended when you dont want render component

reset

import { reset, defaultValue } from "reststate";
/**
 * you can get defualt value 
 */
console.log(defaultValue.state1)
/**
 * reset state to defualt value
 */
reset("state1");

set

import { set } from "reststate";
/**
 * set few state value
 */
set({ state1: "change value", state2: "change value too" });

forceUpdate

import { forceUpdate } from "reststate";
/**
 * update or run all connected to this state
 */
forceUpdate("state2");

other utility

import clone from "reststate/clone";
/**
 * copy variable1 to variable2
 * recommended for Object and array or other type
 */
var variable2 = clone(variable1);

Readme

Keywords

none

Package Sidebar

Install

npm i reststate

Weekly Downloads

5

Version

4.0.3

License

ISC

Unpacked Size

14.7 kB

Total Files

11

Last publish

Collaborators

  • hosseinmdeveloper