babel-plugin-transform-jsx-namespace-to-ref

1.0.0 • Public • Published

babel-plugin-transform-jsx-namespace-to-ref

Example

In

class MyComponent extends React.Component {
  render() {
    return <myDiv:div />
  }
}

Out

class MyComponent extends React.Component {
  render() {
    return <div ref={myDiv => this.myDiv = myDiv} />;
  }
}

Installation

npm install --save-dev babel-plugin-transform-jsx-namespace-to-ref

Usage

Examples for plugin options

asThisProperty option

The default option (not necessary)

To specify the path for element

.babelrc

{
  "plugins": [[
    "transform-jsx-namespace-to-ref", {
      "refType": "asThisProperty",
      "path": "property"
    }
  ]]
}

In

class MyComponent extends React.Component {
  render() {
    return <myDiv:div />
  }
}

Out

class MyComponent extends React.Component {
  render() {
    return <div ref={myDiv => this.property.myDiv = myDiv} />;
  }
}

asThisMethod option

.babelrc

{
  "plugins": [[
    "transform-jsx-namespace-to-ref", {
      "refType": "asThisMethod",
      "path": "methodName"
    }
  ]]
}

In

class MyComponent extends React.Component {
  render() {
    return <myDiv:div />
  }
}

Out

class MyComponent extends React.Component {
  render() {
    return <div ref={myDiv => this.methodName("myDiv", myDiv)} />;
  }
}

legacy option

.babelrc

{
  "plugins": [[
    "transform-jsx-namespace-to-ref", {
      "refType": "legacy"
    }
  ]]
}

In

class MyComponent extends React.Component {
  render() {
    return <myDiv:div />
  }
}

Out

class MyComponent extends React.Component {
  render() {
    return <div ref="myDiv" />;
  }
}

Package Sidebar

Install

npm i babel-plugin-transform-jsx-namespace-to-ref

Weekly Downloads

0

Version

1.0.0

License

MIT

Unpacked Size

7.66 kB

Total Files

3

Last publish

Collaborators

  • paveldymkov