|
|
|
|
|
by zpao
4472 days ago
|
|
You could actually do this without a single change to the JSX transform, and instead just make a simple object that calls m() with the right params. Then you just change the @jsx pragma to point at that object. With a complete array of elements this should mostly work. ```js
/ @jsx m.dom */ function m(type, props, children) {
// assuming m() looks something like this.
return { type: type, props: props, children: children};
}
m.render = function(lwDOM){ console.log(lwDOM)};
m.dom = {}; // React hard codes this array so we can do something like this to build the mapping
['a', 'span'].forEach((el) => { m.dom[el] = function(props, ...args) { return m.call(null, el, props, args); } }); m.render(
<a href={"google.com"}>
<span>hello</span>
<span>world</span>
</a>
);
``` |
|