2016-03-24 8 views
0

ReactでJSXを使用してWebComponentを使用するための多くのドキュメントがあります。まあまあまあまあです...ReactJS JavaScriptでWebコンポーネントを使用する

JavaScriptでReactJSを使ってWebコンポーネントを使用する方法はありますか?

render: function(){ 
    React.DOM.div {}, 
    MyWebComponent {}, "hello" 

ここで、「MyWebComponent」は、私が扱いたいコンポーネントです。

+0

を行うことができます... – erichardson30

答えて

2

あなたがここに

render: function(){ 
    return <div><MyWebComponent>hello</MyWebComponent></div>; 
} 

を反応させると、Webコンポーネントを使用することができるはずin the official react site述べたように、同じ例である純粋なJSでJavaScript react.createElementで

render: function render() { 
    return React.createElement(
    "div", 
    null, 
    React.createElement(
     MyWebComponent, 
     null, 
     "hello" 
    ) 
); 
} 
+0

これはJSXです。私が言及したように、私は純粋なJavaScriptを使用しており、自分の環境でJSXを使用することはできません。 – Kursion

+0

React.createElementはhttps://babeljs.io/repl/#?evaluate=true&presets=es2015%2Creact%2Cstage-2&code=a%20%3D%20%7B%0Arender%3A%20functionにアクセスする方法です( )%7B%0A%20%20%%20%3Cdiv%3E%3CMyWebComponent%3Ehello%3C%2FMyWebComponent%3E%3C%2Fdiv%3E%3B%0A%7D%0A%7D – G3z

3

は、としての要素やcomponantを取ります第1引数、第2引数としてのスタイル、第3引数としての子要素。

  import customComponent from 'my-custom-component'; 
      var child = React.createElement(customComponent, null, 'Text Content'); 
      var Element = React.createElement('div', { className: 'my-class' }, child); 


      render: function(){ 
       {Element} 
      } 

またはあなたは私はあなたが達成しようとしているのか理解していないこの

... 
import customComponent from 'my-custom-component'; 
... 

render: function(){ 
     {React.createElement('div', { className: 'my-class' },customComponent);} 
} 
+0

はい、 '今、webcomponentは何ですか? これはうまくいきません:http://jsfiddle.net/g4y4kgw7/ – Kursion

+0

@Kursionあなたが投稿したフィドルはjavascriptではありません。 'webcomponent'と言うときは、あなたが作ったReactコンポーネントか、shadow DOMを持ったHTML5の作業用ドラフトカスタム要素と、それに付随するすべての鐘や笛を意味しますか? – dannyjolie

+0

私が 'webcomponent'と言うとき、私は有効な子要素を意味します。レンダリングできる任意の有効な要素です。 'var child = React.createElement(CustomComponent、null、null);' –

関連する問題