1

ほとんどの場合、Vue.js または React を使用してフロントエンド Web アプリを構築しますが、それは主に、それらのコンポーネント システムの仕組みが気に入っているからです。だから今、私はReactのような独自のJavaScriptフレームワークを構築しようとしています.これは私がこれまでに行ったことです:

私は JavaScript に Babel を使用しています。これはすべて webpack にバンドルされています。babel-plugin-transform-jsxを使用して、この jsx 型式を変換します。

var object = (
  <article>
    <h1>Hello, kitten!</h1>
    <img href="http://placekitten.com/200/300" alt="A cute kitten"/>
    It is soooo cute.
  </article>
)

この JavaScript オブジェクトに:

var object = {
  elementName: 'article',
  attributes: {},
  children: [
    {
      elementName: 'h1',
      attributes: {},
      children: ['Hello, kitten!']
    },
    {
      elementName: 'img',
      attributes: {
        href: 'http://placekitten.com/200/300',
        alt: 'A cute kitten'
      },
      children: null
    },
    'It is soooo cute.'
  ]
}

このオブジェクトを使用して実際の DOM を構築する方法は知っていますが、次のように、JSX 内に別のコンポーネントを含めたいとしましょう。

render() {
   <article>
      <OtherComponent />
   </article>
}

そして、OtherComponent クラス内には、React と同じように、その親に挿入されるレンダー関数があります。どうやってやるの?

4

0 に答える 0