In
class MyComponent extends React.Component {
render() {
return <myDiv:div />
}
}Out
class MyComponent extends React.Component {
render() {
return <div ref={myDiv => this.myDiv = myDiv} />;
}
}npm install --save-dev babel-plugin-transform-jsx-namespace-to-refExamples for plugin options
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} />;
}
}.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)} />;
}
}.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" />;
}
}