react-deprecate

0.1.0 • Public • Published

React Deprecate

Higher order component to support old props and warn users about the prop change.

Install

yarn add react-deprecate

Usage

import React, { Component } from 'react';
import renamePropsWithWarning from 'react-deprecate';
 
// Your component with the breaking name change
class LibComponent extends Component {
  static propTypes = { label: PropTypes.string }
  render () {
    return <span>{this.props.label}</span>;
  }
}
 
// Wrapped, with options `old` --> `new`.
// Optional third argument is a custom message renderer.
export default renamePropsWithWarning(
  LibComponent,
  { description: 'label', val: 'value' },
  ({ componentName, prop, renamedProps }) => 'Your message.'
);
 
// Old AND new props supported:
// `description/val` mapped to `label/value` with a console warning in Development
class UserComponent extends Component {
  render () {
    return <LibComponent description="Some text" />;
  }
}

License

Copyright © 2017 Joss Mackison. MIT Licensed.

Dependencies (0)

    Dev Dependencies (14)

    Package Sidebar

    Install

    npm i react-deprecate

    Weekly Downloads

    923

    Version

    0.1.0

    License

    MIT

    Last publish

    Collaborators

    • jedwatson
    • jossmac