With Immutable Props To Js Save

:smiling_imp: A higher-order component for keeping Immutable objects outside your presentational components

Project README

with-immutable-props-to-js

Logo

npm CICD npm downloads codecov Renovate
enabled All Contributors Discord Maturity badge - level 3

A higher-order component for keeping Immutable objects outside your presentational components

Installation

yarn add with-immutable-props-to-js

or

npm install with-immutable-props-to-js

This 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').default

Example:

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):


Michael Rose

💻 📖 🚇

Brandon Baksh

🚇

greenkeeper[bot]

🚇

Jake Bolam

📖 🚇

Sanchit Gera

📖

Siavash Mahmoudian

🚇

monicamm95

🎨

Danilo Matamoros

💻

Roman Mahotskyi

🚇

Pablo Morra

💻 ⚠️

dependabot[bot]

🚇

jinwoo choi

💻

Marc Cataford

📖

Michael Chen

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Credits

Special thanks to Carol Skelly for donating the 'tophat' GitHub organization.

Open Source Agenda is not affiliated with "With Immutable Props To Js" Project. README Source: tophat/with-immutable-props-to-js
Stars
76
Open Issues
32
Last Commit
1 month ago
License

Open Source Agenda Badge

Open Source Agenda Rating