TSX в StencilJS

Что такое скомпилированная версия этого кода.tsx в StencilJS?

render() {
  return (
    <div>
      <div>
        test
      </div>
    </div>
  );
}

В Реакте есть:

React.createElement(
  "div",
  null,
  React.createElement(
    "div",
    null,
    "test"
  )
 );

Есть ли в StencilJS эквивалент "React.createElement"?

2 ответа

Я думаю, вы должны взглянуть на основные "как создать веб-компонент" Может быть здесь: https://www.webcomponents.org/introduction

Таким образом, ответ будет что-то вроде:

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, у которого есть некоторые определения, как объявлять веб-компоненты. И поскольку с ними было бы ужасно работать, трафарет дает вам хороший синтаксис, так что вам не нужно.

Да , вы можете проверить tsconfig для фабрики JSX, трафарет использует функцию h(), поэтому в основном это та же структура, но вместо React.createElement она имеет только h().

Прежде всего, этот метод предназначен только для целей рендеринга (шаблон компонента, такой как ReactJS).

Скомпилированная версия - это просто компонент с выбранным вами тегом и этот шаблон в DOM.

Надеюсь, что это поможет вам, в любом случае вы можете перейти на сайт StencilJS, чтобы прочитать документы.

Другие вопросы по тегам