Socket
Book a DemoInstallSign in
Socket

async-decorator

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

async-decorator

Async tools for React provide by a decorator (higher order component)

0.3.0
latest
Source
npmnpm
Version published
Weekly downloads
118
8.26%
Maintainers
1
Weekly downloads
 
Created
Source

async-decorator

Async tools for React provided by a decorator

Requirements and installation

Async-decorator can be used with RxJS 4 or RxJS 5-6

Note: We are currently implementing a version for callbags.

Installation:

npm install --save async-decorator

API

The decorator provides your component with a few utility props for dealing with asyncronous data. The following props are provided:

cancelWhenUnmounted(Subscription): void - A function which takes an observable subscription (a disposable) as a parameter. The observable subscription will automatically be cancelled when your component is unmounted. This prevents code from unintentionally calling setState after the component is unmounted.

cancelAllSubscriptions(): void - A function which will cancel all subscriptions that may be tracked with cancelWhenUnmounted. Automatically called during componentWillUnmount.

stream(prop: String): Observable - A function which takes a string as parameter that represents a prop to watch. stream returns an observable stream which will publish an event each time the prop changes.

stream(props => props.prop): Observable - A function which takes a comparator callback as an argument. stream returns an observable stream which will publish an event each time the prop changes according to the comparater callback.

Example usage

import AsyncDecorator from "async-decorator/rx4";
// change to rx5 or rx6 if using those versions

@AsyncDecorator
class App extends React.Component {
  constructor() {
    super()
    this.state = {
      data: null,
    }
  }
  componentDidMount() {
    this.props.cancelWhenUnmounted(
      this.props
        .stream("type")
        .flatMapLatest(type => makeNetworkRequest(type))
        .subscribe(data =>
          this.setState({
            data: data,
          })
        )
    )
  }
  render() {
    return <div>{this.state.data}</div>
  }
}

Keywords

react

FAQs

Package last updated on 05 Jul 2018

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.