Как вызвать метод в методе рендеринга реакции

Mariela спросил: 28 апреля 2018 в 09:31 в: reactjs

У меня есть вопрос React nooob .. Дело в том, что мне нужно вызвать метод с именем xxx, в методе render, но я не знаю, как это сделать.

Это метод:

xxx() {
    return (
        this.state.dataLoadedQuote &&
        <BlogBandLeadershipBlogQuoteItem item={this.state.blogQuote} labels={this.props.labels} />
    );
}

1 ответ

Chris ответил: 28 апреля 2018 в 09:46

Кажется, вы правильно вызываете свою функцию xxx() (хотя вам не нужно передавать аргумент 0 - это не нужно). Проблема может заключаться в том, что, поскольку вы используете this внутри xxx(), вам необходимо связать функцию в вашем конструкторе. В противном случае this не будет ссылаться на ваш компонент, поэтому this.state.dataLoadedQuote всегда будет ложным.

Итак, добавьте:

this.xxx = this.xxx.bind(this);

Теперь ваш конструктор может выглядеть примерно так:

constructor() {
  super();
  this.state = {}  this.xxx = this.xxx.bind(this);
}
Mariela ответил: 28 апреля 2018 в 09:52
Конструктор находится внутри класса, а xxx propterty - массив. Что я должен делать? export default class myClass расширяет React.Component < aaa, bbb > {constructor () {super (); this.state = {xxx: [],