Skip to content

Latest commit

 

History

History
80 lines (54 loc) · 1.14 KB

File metadata and controls

80 lines (54 loc) · 1.14 KB

babel-plugin-transform-react-constant-elements

Treat React JSX elements as value types and hoist them to the highest scope

Example

In

const Hr = () => {
  return <hr className="hr" />;
};

Out

const _ref = <hr className="hr" />;

const Hr = () => {
  return _ref;
};

Deopts

  • Spread Operator

    <div {...foobar} />
  • Refs

    <div ref="foobar" />
    <div ref={node => this.node = node} />
  • Composite Components

    const ComponentA = () => <div><MyCustomComponent /></div>;

Installation

npm install --save-dev babel-plugin-transform-react-constant-elements

Usage

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["transform-react-constant-elements"]
}

Via CLI

babel --plugins transform-react-constant-elements script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-react-constant-elements"]
});

References