2016-08-01 47 views
0

我在我的React + Meteor項目中使用帳戶UI流星軟件包,並且想要使用屬性align="right"呈現loginButtons模板。在Blaze中,代碼只是{{> loginButtons align="right"}},但是我對如何在React中添加此屬性感到不知所措。如何更改React組件內的Blaze模板的屬性

import React, { Component } from 'react'; 
import ReactDOM from 'react-dom'; 
import { Template } from 'meteor/templating'; 
import { Blaze } from 'meteor/blaze'; 

export default class AccountsUIContainer extends Component { 
    componentDidMount() { 
    this.view = Blaze.render(Template.loginButtons, // How do I give loginButtons `align="right`? 
    ReactDOM.findDOMNode(this.refs.container)); 
    } 

    componentWillUnmount() { 
    Blaze.remove(this.view); 
    } 

    render() { 
    return <span ref="container" />; 
    } 
} 

我認爲Blaze.renderWithData()可能是解決方案的一部分,但我用這種方法測試至今沒有工作。我也認爲人們已經創建了在React中使用Blaze模板的解決方案,但我不確定這些替代解決方案是否是在Meteor 1.4中解決這個問題的「正確」方法。

回答

1

答案就在文檔中。首先meteor add gadicc:blaze-react-component,然後在組件

import React from 'react'; 
import Blaze from 'meteor/gadicc:blaze-react-component'; 

const App =() => (
    <div> 
    <Blaze template="loginButtons" align="right" /> 
    </div> 
);