New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

boxed-injector-react

Package Overview
Dependencies
Maintainers
2
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

boxed-injector-react

Dependency Injection Tools for React

  • 0.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

boxed-injector-react

NPM version NPM Downloads dependencies Status Build Status Coverage Status

Dependency Injection Tools for React Applications

Installation

$ npm install --save boxed-injector-react

Overview

This is a set of helper components for leveraging the boxed-injector within a React application.

The use case for this is to pull business logic out of your components into separate testable services, and inject them into your components as props so that you can use them in multiple places. Leveraging a DI container enables automatic dependency resolution greatly simplifying application bootstrapping while making your code more declarative.

There are 2 main components.

  1. Inject (Higher Order Component for resolving dependencies declaratively into React containers) - See detailed readme
  2. Injectable (Wrapper around React Components for directly injecting resolved props) - See detailed readme

Installation

$ npm install --save boxed-injector-react

Getting Started

Somewhere in app bootstrapping land, leverage the commonjs module cache to gain access to a singleton of inject and register your stuff.

// injector.config.js

const React = require('React');
const Injector = require('boxed-injector').Injector;
const Inject = require('boxed-injector-react')(React).Inject;

const types = {
  FOO: 'FOO'
};

let inject;

function injectorConfig () {
  const injector = new Injector();
  injector.register(types.FOO, 'foo');
	inject = new Inject(injector);
	return injector;
};

injectorConfig.inject = inject;
injectorConfig.types = types;

module.exports = injectorConfig;

Then, in your components, reference the singleton to gain access to the injector.

// MyComponent.js
const React = require('React');
const inject = require('./injector.config').inject;

@inject({ 'baz': 'foo' })
class MyComponent extends React.Component {
  render(){
    console.log(this.props);
    return <div/>;
  }
}

Contributing

We look forward to seeing your contributions!

License

MIT © Ben Lugavere

Keywords

FAQs

Package last updated on 01 May 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