npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-bacon

v0.0.4

Published

A little module for using React with Bacon.js

Downloads

17

Readme

react-bacon

A little module for using React with Bacon.js.

Here's a JSFiddle!

Installation

For browserify projects, npm install --save react-bacon.

For other projects, use the UMD distribution in /dist/react-bacon.js.

If you are just putting it in a <script> tag, the library will be at window.ReactBacon.

Usage

Right now the library includes a single React mixin, BaconMixin.

BaconMixin provides a few different methods for your components:

component.propsProperty([propName])

Returns a memoized Bacon.Property backed by the component's props, skipping duplicate values. When a propName is present, the values of the property are those of the given prop. If no propName is given, the property's values are the whole props objects of the component.

The properties returned are cleaned up with a Bacon.End when the component unmounts.

component.stateProperty([stateName])

Like propsProperty(propName), but for state values.

component.eventStream(functionName)

Registers an event handler function on the component with the given name, which simply sends its argument to the returned Bacon stream.

The stream is memoized by the functionName, and gets cleaned up with a Bacon.End when the component unmounts.

component.plug(observable, [stateKey])

Plugs a Bacon observable into the component's state, and returns an unsubscribe function. If a stateKey is given, then values from the observable are assigned to the given key. If no stateKey is given, the values must be objects which are passed directly to setState to assign multiple state keys at once.

The component will unsubscribe from the stream when it unmounts.

Packaging

browserify --standalone ReactBacon src/react-bacon.js -o dist/react-bacon.js