在React组件中渲染流星模板

时间:2015-11-12 17:46:47

标签: meteor reactjs meteor-blaze

让我留下一个带有{{loginButton}}模板的 loginbutton.html 文件。

<template name="loginButton">
   //rest of code
</template>

我如何在反应组件中渲染它。我环顾四周,找到了几个答案,但说实话,我需要更多的指导bc我是Meteor的新手。以下是我找到的可能答案的链接。我只是不知道如何实现这个,或者这是我真正想要的。

https://gist.github.com/emdagon/944472f39b58875045b6

2 个答案:

答案 0 :(得分:0)

我终于解决了这个问题。如果您尝试在反应组件中使用闪耀模板,则必须确保您的流星应用程序正在使用&#34;模板化&#34;在客户端(以及我正在使用的包中)。之后,只需按照上面链接中的说明创建组件时将模板作为prop:

传递
Base.components.photoButton = React.createClass({

componentDidMount: function() {

    var componentRoot = React.findDOMNode(this);

    var parentNode = componentRoot.parentNode;

    parentNode.removeChild(componentRoot);

    this.view = Blaze.render(this.props.template, parentNode);

},

componentWillUnmount: function() {
    // Clean up Blaze view
    Blaze.remove(this.view);
},

render: function() {

    return (<div/>

) 

},

}));

答案 1 :(得分:0)

有一个很好的氛围包blazetoreact

这很简单。如果你有这个Blaze模板:

<template name="loginButton">
   <!-- rest of code -->
</template>

然后你可以将它用作React组件:

const LoginButton = BlazeToReact('loginButton');

class SomeComponent extends React.Component {
  render() {
    return (
      <div>
        <LoginButton />
      </div>
    );
  }
}