GamePortrait/node_modules/@vue/babel-sugar-functional-vue
2026-01-16 17:47:53 +08:00
..
dist Initial commit: GamePortrait 竖屏版 - 深色豪华主题 2026-01-16 17:47:53 +08:00
package.json Initial commit: GamePortrait 竖屏版 - 深色豪华主题 2026-01-16 17:47:53 +08:00
README.md Initial commit: GamePortrait 竖屏版 - 深色豪华主题 2026-01-16 17:47:53 +08:00

@vue/babel-sugar-functional-vue

Syntactic sugar for functional components.

Babel Compatibility Notes

Usage

Install the dependencies:

# for yarn:
yarn add @vue/babel-sugar-functional-vue
# for npm:
npm install @vue/babel-sugar-functional-vue --save

In your .babelrc:

{
  "plugins": ["@vue/babel-sugar-functional-vue"]
}

However it is recommended to use the configurable preset instead.

Details

This plugin transpiles arrow functions that return JSX into functional components but only if it's an uppercase variable declaration or default export:

// Original:
export const A = ({ props, listeners }) => <div onClick={listeners.click}>{props.msg}</div>
export const b = ({ props, listeners }) => <div onClick={listeners.click}>{props.msg}</div>
export default ({ props, listeners }) => <div onClick={listeners.click}>{props.msg}</div>

// Result:
export const A = {
  functional: true,
  render: (h, {
    props,
    listeners
  }) => <div onClick={listeners.click}>{props.msg}</div>
}
export const b = ({ props, listeners }) => <div onClick={listeners.click}>{props.msg}</div>
export default {
  functional: true,
  render: (h, {
    props,
    listeners
  }) => <div onClick={listeners.click}>{props.msg}</div>
}