Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mseddon/preact-nx-observer

A simple preact decorator for @nx-js/observer-util
https://github.com/mseddon/preact-nx-observer

Last synced: 1 day ago
JSON representation

A simple preact decorator for @nx-js/observer-util

Awesome Lists containing this project

README

        

# preact-nx-observer
> Simple `preact-mobx` interface for `nx-js/observer-util`.

## About
[mobx](https://github.com/mobxjs/mobx) is a great little reactive state library, but sometimes you just want to shave off a few more kb from your bundle.

Fortunately [ns-js/observer-util](https://github.com/nx-js/observer-util) is a tiny (~3k gzipped) library supporting the core of `mobx`.

This library provides a *very* tiny decorator syntax for `nx-js/observer-util`. By decorating a
Preact `Component` class as `@observer`, the component will automagically re-render whenever a dependent observable value changes.

## Usage
```javascript
import { h, Component, render } from "preact";
import { observable } from "@nx-js/observer-util";
import { observer } from "preact-nx-observer";

let thing = observable({ foo: "This is foo's data"});

@observer
class Foo extends Component {
render() {
return

{thing.foo}


}
}

render(, document.querySelector("#content"));

setInterval(() => thing.foo += "!", 1000)
```

And thats it!

## License

MIT