2016-08-01 1 views
0

Я использую пакет метеоритов пользовательского интерфейса Accounts в моем проекте React + Meteor и хочу отобразить шаблон loginButtons с свойством align="right". В Blaze код будет только {{> loginButtons align="right"}}, но я не понимаю, как добавить это свойство в React.Как изменить свойства шаблона Blaze внутри компонента React

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() может быть частью решения, но мои тесты с помощью этого метода не работает до сих пор. Я также думаю, что люди создали решения для использования шаблонов Blaze в React раньше, но я не уверен, что эти альтернативные решения станут «правильным» решением этой проблемы в 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> 
); 
Смежные вопросы