在StencilJS中,这段.tsx代码的编译版本是什么?
render() {
return (
<div>
<div>
test
</div>
</div>
);
}
在React中是:
React.createElement(
"div",
null,
React.createElement(
"div",
null,
"test"
)
);
在StencilJS中有没有"React.createElement“的等价物?
发布于 2018-04-20 00:25:59
我猜你必须看一看基本的“如何创建web组件”,可能在这里:https://www.webcomponents.org/introduction#how-do-i-define-a-new-html-element-
所以答案应该是这样的:
class SomeElement extends HTMLElement {...} window.customElements.define('some-element') var newElement = document.createElement('some-element')newElement.appendChild(document.createElement('div).appendChild(document.createElement('test')))
..。诸若此类。我想你能明白这一点。
模板转换为vanillaJS,它有一些关于如何声明web组件的定义。因为它们使用起来很糟糕,所以模板提供了一个很好的语法,所以你不需要这样做。
发布于 2018-12-15 22:27:37
是的,你可以为JSX工厂检查tsconfig,模板使用h()函数,所以基本上它的结构是相同的,但它没有React.createElement,只有h()。
发布于 2017-09-25 14:10:59
https://stackoverflow.com/questions/46380576
复制相似问题