* Use helper-builder-react-jsx inside plugin-transform-react-inline-elements. This avoids duplicating the logic for converting jsx elements to plain JavaScript. * Add a comment which explains the _jsx signature, [skip ci] so it is a little bit easier to understand what all those .splice() calls do
29 lines
813 B
Markdown
29 lines
813 B
Markdown
# babel-helper-builder-react-jsx
|
|
|
|
## Usage
|
|
|
|
```javascript
|
|
type ElementState = {
|
|
tagExpr: Object; // tag node
|
|
tagName: string; // raw string tag name
|
|
args: Array<Object>; // array of call arguments
|
|
call?: Object; // optional call property that can be set to override the call expression returned
|
|
pre?: Function; // function called with (state: ElementState) before building attribs
|
|
post?: Function; // function called with (state: ElementState) after building attribs
|
|
};
|
|
|
|
require("babel-helper-builder-react-jsx")({
|
|
filter: function (element: JSXElement) {
|
|
// if returns false, the element isn't transformed
|
|
},
|
|
|
|
pre: function (state: ElementState) {
|
|
// called before building the element
|
|
},
|
|
|
|
post: function (state: ElementState) {
|
|
// called after building the element
|
|
}
|
|
});
|
|
```
|