Socket
Book a DemoInstallSign in
Socket

react-resolve-dependencies

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-resolve-dependencies

Resolve dependencies before rendering a React component

0.2.0
latest
Source
npmnpm
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

react-resolve-dependencies

A higher order component that enables specifying dependencies that should be met before the component is rendered.

Installation

$ npm install react-resolve-dependencies

Usage

import React from 'react'
import resolveDependencies from 'react-resolve-dependencies'

function dependency() {
  return Promise.resolve('dependency resolved')
}

function onDependencyResolution(results) {
  console.log(results)
}

function onDependencyFailure(reason) {
  console.log(reason)
}

class LoadingComponent extends React.Component {

  render() {
    <div>loading...</div>
  }

}

class FailureComponent extends React.Component {

  render() {
    <div>failed...</div>
  }

}

class ComponentWithDependencies extends React.Component {

  static dependencies = [
    dependency
  ]

  static onDependencyResolution = onDependencyResolution

  static onDependencyFailure = onDependencyFailure

  render() {
    <div>all dependencies have now been resolved!</div>
  }

}

export default resolveDependencies(LoadingComponent, FailureComponent)(ComponentWithDependencies)

A 'dependency' is any function that returns a promise. Specify these in an array as a component property dependencies. The promises returned by the dependency functions will be passed to Promise.all and resolved before rendering the component. Whilst this takes place, the LoadingComponent passed to resolveDependencies will be rendered, passed the same props as the wrapped component. If no loading component is passed, then null will be rendered.

If any of the promises fail, then the FailureComponent will be rendered, passed the same props as the wrapped component. If no failure component is passed, then null will be rendered.

It's also possible to specify methods to be called in the event of dependency resolution or failure. These should be specified as component properties onDependencyResolution and onDependencyFailure, and will be passed either the results from Promise.all, or the reason for the failure, respectively.

FAQs

Package last updated on 20 Apr 2017

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.