0.3.6 • Published 3 years ago
rhobo v0.3.6
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