0.1.4 • Published 3 years ago

babel-plugin-transform-jsx-memo v0.1.4

Weekly downloads
1,985
License
-
Repository
-
Last release
3 years ago

babel-plugin-transform-jsx-memo

Memorize the JSX element.

Example

In

import { createElement } from 'react';

export default function Foo(props) {
  const { message } = props;
  return (
    <div>
      Demo:
      <p x-memo>hello {message}</p>
    </div>
  );
}

Out

import { createJSXMemo as __create_jsx_memo__ } from "babel-plugin-transform-jsx-memo/lib/runtime";
import { createElement } from 'react';
export default function Foo(props) {
  const {
    message
  } = props;
  return <div>
      Demo:
      {__create_jsx_memo__(() => <p>hello {message}</p>, 0)}
    </div>;
}

Installation

$ npm install babel-plugin-transform-jsx-memo

Usage

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["transform-jsx-memo"]
}

Via CLI

$ babel --plugins transform-jsx-memo script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-jsx-memo"]
});