New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
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
  • npm
  • Socket score

Version published
Maintainers
1
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

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

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc