0.3.6 • Published 3 years ago

rhobo v0.3.6

Weekly downloads
5
License
ISC
Repository
github
Last release
3 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

3 years ago

0.3.5

3 years ago

0.3.4

4 years ago

0.3.3

4 years ago

0.3.2

4 years ago

0.3.1

4 years ago

0.3.0

4 years ago

0.2.8

4 years ago

0.2.7

4 years ago

0.2.6

4 years ago

0.2.5

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.4

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.2

4 years ago

0.1.3

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.21

4 years ago

0.0.20

4 years ago

0.0.19

4 years ago

0.0.18

4 years ago

0.0.17

4 years ago

0.0.16

4 years ago

0.0.15

4 years ago

0.0.14

4 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago