1

loginButtonsReact + Meteor プロジェクトで Accounts UI meteor パッケージを使用しており、プロパティを使用してテンプレートをレンダリングしたいと考えています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()解決策の一部かもしれないと思いますが、この方法での私のテストは今のところうまくいきません。また、以前に React で Blaze テンプレートを使用するソリューションを作成した人もいると思いますが、これらの代替ソリューションが Meteor 1.4 でこの問題を解決する「正しい」方法になるかどうかはわかりません。

4

1 に答える 1

2

答えはドキュメントの中にありました。最初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>
);
于 2016-08-02T19:18:11.450 に答える