2016-07-20 26 views
0

我發現此answer顯示瞭如何將對象屬性綁定到Polymer組件的HTML標記中指定的屬性。如何在從React組件(無JSX)渲染時傳遞Polymer對象屬性

我想要做的是通過這些相同的屬性從組件做出反應,像這樣渲染時:

var myComponent = React.createClass({ 
    componentDidMount: function(){ 
    }, 
    render: function() { 
     var activities = this.props.activities.map(function(activity) { 
      return React.createElement("activity-tracker", {variable: {"title": activity.title, "description": activity.description}}); 
     }); 
     return React.createElement("div", null, activities); 
    } 
}; 

我想完全避免使用JSX。

activity-tracker是聚合物組分

<dom-module id="activity-tracker"> 
    <template> 
     <p>{{variable.title}}</p> 
     <p>{{variable.description}}</p> 
    </template> 

    <script> 
     Polymer({ 
      is:"activity-tracker", 
      properties:{ 
       variable:{ 
        type:Object, 
        value: function(){return {};} 
       } 
      } 
     }); 
    </script> 
</dom-module> 

更新

我發現一個this post,他們通過使用ref功能,但I’m not sure如果是這樣做的最佳方式的值。

... 
return React.createElement("activity-tracker", { 
    ref: function (ref) { 
      if (!ref) return; 
      ref.variable = {title: activity.title, description: activity.description}; 
     } 
    }); 
... 

回答

0

我不認爲這是可能的,因爲React的虛擬DOM。

+0

謝謝,我用我在[react-polymer](https://github.com/jscissr/react-polymer)中做同樣的事情找到的解決方案更新了這個問題,儘管我不確定是否這是一個支持者用例。 – rraallvv