2.1.0 • Published 5 years ago
with-immutable-props-to-js v2.1.0
with-immutable-props-to-js
A higher-order component for keeping Immutable objects outside your presentational components
Installation
yarn add with-immutable-props-to-jsor
npm install with-immutable-props-to-jsThis library also lists react, react-dom, and immutable as peer dependencies, so make sure they are installed in your project as well.
Usage
import withImmutablePropsToJS from 'with-immutable-props-to-js'If you're not using ECMAScript modules:
const withImmutablePropsToJS = require('with-immutable-props-to-js').defaultExample:
import React from 'react'
import { connect } from 'react-redux'
import withImmutablePropsToJS from 'with-immutable-props-to-js'
const MyDumbComponent = props => {
// ...
// props.objectProp is turned into a plain JavaScript object
// props.arrayProp is turn into a plain JavaScript array
}
MyDumbComponent.propTypes = {
objectProp: PropTypes.object,
arrayProp: PropTypes.array,
}
const mapStateToProps = state => ({
objectProp: mySelectorThatReturnsImmutableMap(state),
arrayProp: mySelectorThatReturnsImmutableList(state),
})
export default connect(mapStateToProps)(withImmutablePropsToJS(MyDumbComponent))Motivation
You can read about the rationale for this higher-order component here.
Contributors
For information on how to contribute to this project, check out the contributing guide.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Credits
Special thanks to Carol Skelly for donating the 'tophat' GitHub organization.