Я пытаюсь получить доступ к функции, определенной в mixin от getDefaultProps, но я получаю undefined is not a function
. В основном я использую react-intl
, и метка по умолчанию для моей колонки должна быть переведена. Почему я не могу получить доступ к функциям, определенным в mixin из getDefaultProps?Реакт: не удается получить доступ к функции mixin внутри getDefaultProps
var React = require('react');
var ReactIntl = require('react-intl');
var IntlMixin = ReactIntl.IntlMixin;
var Index = React.createClass({
mixins: [IntlMixin],
getDefaultProps: function() {
return ({
options: {
attributes: [{name: 'name', label: this.getIntlMessage('Index.name'), index: 0}],
view: "tiles"
}
});
},
render: function() {
return <div>{this.props.options.attributes[0].label}</div>
}
});
module.exports = Index;
Спасибо за ответ, я понимаю ваши вопросы, но я чувствую, что было бы неплохо иметь доступ к контексту из getDefaultProps. Возможно, я недостаточно понимаю Реакт. :) –
Не знаете, почему нижний предел, этот ответ правильный, вы не можете получить доступ к контексту экземпляра из 'getDefaultProps', потому что нет экземпляра. В документах: «Вызывается один раз и кэшируется при создании класса» –
@AlanSouza - вы не можете получить к нему доступ ... это не так, поскольку нет класса. Вам нужно будет использовать функциональность по-другому, а не полагаться на метод mixin. – WiredPrairie