私は、ローカライズしたい (ポルトガル語に翻訳したい) ための accounts:ui ラッパーを使用しています。これまで Blaze を実際に使用したことがないので、どのようなアプローチを取るべきかわかりません。この質問では、Blaze ユーザーがアカウントをローカライズするためのトリックを見てきました:ui。これは、.rendered コールバックが呼び出された後にテキストを置き換えることによって行われます。反応させる方法があるかどうか疑問に思っていますか?文字列を jQuery に置き換えようとしましたが (遅滞なく)、うまくいきませんでした。
Template.header.rendered = function() {
$('#login-sign-in-link').text('Přihlásit se ▾');
$('.login-close-text').text('Zavřít nabídku');
$('.sign-in-text-google').text('Přihlásit se přes Google');
$('.sign-in-text-facebook').text('Přihlásit se přes FB');
//etc...
};
そして、これが私の反応ラッパーです:
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import { Template } from 'meteor/templating';
import { Blaze } from 'meteor/blaze';
export default class AccountsUIWrapper extends Component {
componentDidMount() {
// Use Meteor Blaze to render login buttons
this.view = Blaze.render(Template.loginButtons,
ReactDOM.findDOMNode(this.refs.container));
}
componentWillUnmount() {
// Clean up Blaze view
Blaze.remove(this.view);
}
render() {
// Just render a placeholder container that will be filled in
return <span ref="container" />;
}
}