0.3.6 • Published 4 years ago

rhobo v0.3.6

Weekly downloads
5
License
ISC
Repository
github
Last release
4 years ago

React Hobo (Hook-Based Observables)

Installation

npm i rhobo

Usage

import { observable, computed, useObservable, useComputed } from "rhobo";
import type { Observable, Computed } from "rhobo";

observable, useObservable

const testObservable = observable<type>(testDefaultValue);

const TestComponent = props => {
  let x = useObservable<number>(0); // x will be the same observable even after rerenders
  x.use();
  return <div onClick={() => x(x()+1)}>{x()}</div> // x() is the current value, and x(value) sets x
};

computed, useComputed

const TestComponent = props => {
    let x = useObservable<number>(0);
    let xPlus5 = useComputed<number>(() => x() + 5); // xPlus5 will update every time x updates
    xPlus5.use();
    return <div onClick={() => x.inc()}>{xPlus5()}</div>;
}

const TestWritableComponent = props => {
    let x = useObservable<number>(0);
    let xPlus5Times2 = useComputed<number>(
        () => (x() + 5) * 2,
        v => x(v/2 - 5), // this will be called when xPlus5Times2 is set
    );
    x.use();
    xPlus5Times2.use();
    return <div onClick={() => xPlus5Times2.inc()}>X: {x()}, 2*(X+5): {xPlus5Times2()}</div>
};
0.3.6

4 years ago

0.3.5

4 years ago

0.3.4

5 years ago

0.3.3

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.8

5 years ago

0.2.7

5 years ago

0.2.6

5 years ago

0.2.5

5 years ago

0.2.3

5 years ago

0.2.2

5 years ago

0.2.4

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.2

5 years ago

0.1.3

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.21

6 years ago

0.0.20

6 years ago

0.0.19

6 years ago

0.0.18

6 years ago

0.0.17

6 years ago

0.0.16

6 years ago

0.0.15

6 years ago

0.0.14

6 years ago

0.0.13

6 years ago

0.0.12

6 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago