0.1.20 • Published 4 years ago

multi-compose v0.1.20

Weekly downloads
1
License
ISC
Repository
github
Last release
4 years ago

Build Status Coverage Status

multi-compose

Creates multi-instance components. Enables a single component to have multiple views. Useful when two components share most functionality and are closely related.

Getting Started

Installing

npm i multi-compose

Usage

MyComponent.js

import React from 'react';
import { withState } from 'recompose';
import { connect } from 'react-redux';
import multiCompose from 'multi-compose';

export default multiCompose(
  withState('getter', 'setter'),
  // ...
)(
  {
    Instance1: [
      connect(state => ({prop: state.prop1})) // state.prop1 = 'a'
      // ...
    ],
    Instance2: [
      connect(state => ({prop: state.prop2})) // state.prop1 = 'b'
      // ...
    ]
    // ...
  },
  true // true if instance HOCs should be composed first
)(({prop}) => (<div>{prop}</div>));

Instance1.js

import React from 'react';
import MyComponent from './MyComponent'

export default () => <MyComponent.Instance1/> // renders <div>a</div>

Instance2.js

import React from 'react';
import MyComponent from './MyComponent'

export default () => <MyComponent.Instance2/> // renders <div>b</div>
0.1.20

4 years ago

0.1.19

5 years ago

0.1.18

5 years ago

0.1.17

6 years ago

0.1.16

6 years ago

0.1.15

6 years ago

0.1.14

6 years ago

0.1.13

6 years ago

0.1.12

6 years ago

0.1.11

6 years ago

0.1.10

6 years ago

0.1.9

6 years ago

0.1.8

6 years ago

0.1.7

6 years ago

0.1.6

6 years ago

0.1.5

6 years ago

0.1.4

6 years ago