Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
@alaboudi/react-observable
Advanced tools
A simple observable binding for your React components.
with Yarn
yarn install @alaboudi/react-observable
with NPM
npm install @alaboudi/react-observable
We have 2 primary APIs in this library: useObservable
& withObservable
. They
both enable your component to subscribe to an observable.
import { useObservable } from "@alaboudi/react-observable";
import { of } from "rxjs";
interface Book {
title: string;
description: string;
}
const FAKE_BOOK: Book = {
title: 'Moby-Dick',
description: 'A story about a whale 🐋'
};
const bookObservable$ = of(FAKE_BOOK);
const BookPreview = () => {
const book = useObservable(bookObservable$);
return (
<article>
<h1>{book.title}</h1>
<p>{book.description}</p>
</article>
)
}
if your observable does not emit a value upon first render, you may pass an optional 2nd parameter as a fallback initial value.
const bookObservable$ = new Subject<Book>();
const initialFallbackValue = {
title: 'The Kite Runner',
description: 'A story about a boy'
}
const BookPreview = () => {
const book = useObservable(bookObservable$, initialFallbackValue);
return (
<article>
<h1>{book.title}</h1>
<p>{book.description}</p>
</article>
)
}
If your project is not compatible with React hooks (prior to v16.8), then you can always use the following higher order component
const bookObservable$ = new Subject<Book>();
const initialFallbackValue: Book = {
//
}
const BookPreview = (props) => (
<article>
<h1>{props.book.title}</h1>
<p>{props.book.description}</p>
</article>
)
export default withObservable(
'book',
bookObservable$,
initialFallbackValue // optional
)(BookPreview)
Typescript typings are included in this library.
FAQs
A observable binding for React
The npm package @alaboudi/react-observable receives a total of 4 weekly downloads. As such, @alaboudi/react-observable popularity was classified as not popular.
We found that @alaboudi/react-observable demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.