Utilities > JSX


babel-plugin-jsx-vue-functional 0.21


JSX Syntactic Sugar Plugin for Vue Functional Components
    last commit 4 years ago
    66
    Stargazers

    Watchers
    66
    Open issues
    17
    1144442
    Downloads

    Last 30 days
    48520
    Releases
    5
    50
    Final Score

    Quality
    95
    Popularity
    14
    Maintenance
    49

    Build Status

    DEPRECATED: Check https://github.com/vuejs/jsx instead

    JSX Functional Components for Vue JSX

    This babel plugin adds some syntactic sugar to JSX.

    Usage:

    npm i babel-plugin-jsx-vue-functional -D
    

    or

    yarn add babel-plugin-jsx-vue-functional -D
    

    Then add jsx-vue-functional to your .babelrc file under plugins

    example .babelrc:

    {
      "presets": ["es2015"],
      "plugins": ["jsx-vue-functional", "transform-vue-jsx"]
    }
    

    Example:

    const A = () => <h1>Hello World</h1>
    export const B = ({ props, listeners }) => <div onClick={listeners.click}>{props.msg}<A /></div>
    

    will be transpiled into:

    const A = {
      functional: true,
      render: (h) => <h1>Hello World</h1>
    }
    
    export const B = {
      functional: true,
      render: (h, { props, listeners }) => <div onClick={listeners.click}>{props.msg}<A /></div>
    }
    

    Warning

    This plugin will transform all named arrow functions that contain JSX and starting with version 2.0.0 so this code will not work:

    const A = () => <h1>Hello World</h1>
    export const B = ({ props, listeners }) => <div onClick={listeners.click}>{props.msg}{A()}</div>