Skip to content
This repository has been archived by the owner on Jun 23, 2018. It is now read-only.

The plugin selects extra props from page state to your component.

Notifications You must be signed in to change notification settings

seznam/IMA.js-plugin-select

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ima-plugin-select

Package was moved to plugins monorepo.

The IMA plugin selects extra props from page state to your component. It uses HOC at the background. It can be very useful for example some analytical data.

Installation

npm install ima-plugin-select --save
// /app/build.js

let vendors = {
    common: [
        'ima-plugin-select'
    ]
};

/*
The select plugin is now available.

import select from 'ima-plugin-select';
*/
// /app/config/bind.js
import PageStateManager from 'ima/page/state/PageStateManager';

//COMPONENT Utils
oc.constant('$Utils', {
	...
	$PageStateManager: oc.get(PageStateManager)
	...
});

/*
The select plugin use $PageStateManager for selecting extra props to your component.
*/

Usage

// /app/component/Component.js
import select from 'ima-plugin-select';

// Your page state
//{
//	title: 'My title',
//	media: {
//		width: 90,
//		height: 60
//	}
//}


class Component extends React.PureComponent {
	render() {
		return <h1>{this.props.title}</h1>;
	}
}

const titleSelector = (state, context) => {
	return {
		title: state.title
	};
}

// Only for example purpose. You can use more selectors.
const emptySelector = (state, context) => {
	return {};
}

export default select(titleSelect, emptySelector)(Component);

IMA.js

The IMA.js is an application development stack for developing isomorphic applications written in pure JavaScript. You can find the IMA.js skeleton application at https://github.com/seznam/IMA.js-skeleton.

About

The plugin selects extra props from page state to your component.

Resources

Stars

Watchers

Forks

Packages

No packages published