Как изменить свойства шаблона Blaze внутри компонента React

Я использую пакет Meteor Accounts UI в своем проекте React + Meteor и хочу отобразить шаблон loginButtons со свойством align="right". В Blaze код будет просто {{> loginButtons align="right"}}, но я не понимаю, как добавить это свойство в 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.


person Rich    schedule 01.08.2016    source источник


Ответы (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>
);
person Rich    schedule 02.08.2016