Функция Hyperapp h не может создать компонент - PullRequest
0 голосов
/ 11 мая 2019

Я пробовал Hyperapp.

По ряду причин я хочу использовать функцию h вместо JSX, я не буду разбираться здесь с причинами и причинами, но нетJSX, пожалуйста!

Дело в том, что когда я создаю экземпляр компонента с помощью JSX, все в порядке.

Пример компонента (и этот, и эквивалент JSX работают одинаково в примерах ниже):

const Examp = (props) => (
  h("p",{},["this is an example"])
 )

Пример представления с использованием JSX, при этом загружается компонент Examp, как и ожидалось (я вижу «это пример»):

const view = (state, actions) => (
  <main>
    <h1>JSX Example</h1>
    <p>Begin</p>
    <Examp/>
    <p>End</p>
  </main>
)

Пример представления с использованием h, это не работает, Я получаю пустой узел "examp" (обратите внимание на случай):

const view = (state, actions) => (
  h("main",{},[
    h("h1",{},["H Example"]),
    h("p",{},["Begin"]),
    h("Examp",{},[]),
    h("p",{},["End"])
  ])
)

Похоже, что h меняет капитализацию узла, и это приводит к тому, что он не загружает компонент.

Я делаю что-то не так, если да, как мне с этим бороться?

Редактировать: посмотрев на исходный код Hyperapp;hyperapp использует document.createElement для создания узлов и всегда будет создавать строчные узлы, так как функциям компонентов требуется заглавная буква, когда-нибудь компоненты работали с h, или это было упущено?В этом случае Hyperapp требуется JSX: /

...