我正在使用 react-router (0.13) 和 react-intl (1.2.0)。我在路线上有这个:
var i18n = {
locales: ['en-US']
};
var routes = (
<Route name='home' path='/' handler={App}>
</Route>
);
Router.run(routes, function (Handler) {
React.render(<Handler locales={i18n.locales} />, document.body);
});
这在应用程序中:
var ReactIntl = require('react-intl');
var IntlMixin = ReactIntl.IntlMixin;
var FormattedRelative = ReactIntl.FormattedRelative;
var App = React.createClass({
mixins: [IntlMixin],
render: function() {
var postDate = Date.now() - (1000 * 60 * 60 * 24);
var foo = this.formatRelative(postDate); //this worked before updating to 1.2.0
return (
{foo}
<FormattedRelative value={postDate}/>
);
}
});
命令式调用 (this.formatRelative) 和组件对 formatRelative 的使用都失败了:“必须以字符串或 AST 的形式提供消息。”
我做错了什么?