Должен ли componentDidMount запускаться из connectStateResults?

Я пытаюсь создать бесконечную карусель Сиема, используя мгновенный поиск в реакции из algolia, но я не думаю, что коннекторы ведут себя как компоненты React. Стоит ли ожидать, что здесь будет вызван componentDidMount? Предложения? Идеи?

class ActorsClass extends connectStateResults {

  constructor(props){
    super(props);
    var { searchState, searchResults } = props;
    this.hasResults = searchResults && searchResults.nbHits !== 0;
  }

  componentDidMount() {
    console.info("componentDidMount " + this.props.siema)
    this.siema = new Siema(this.props.siema);
  }

  prev = () => {
    this.siema.prev()
  };

  next = () => {
    this.siema.next()
  };

  render = () => {
    return (
        <div className = "actors-container">
          <div xhidden = {!this.hasResults}>
            <h1>Actors</h1>
            <InfiniteHits hitComponent = {HitActors} />
          </div>
        <button onClick = {this.prev}>Prev</button>
        <button onClick = {this.next}>Next</button>
      </div>
    );
  }
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
77
1

Ответы 1

Каждый раз, когда подключенный компонент получает новые реквизиты, они повторно вызываются. Это означает, что вы можете использовать ловушку componentDidUpdate для своего варианта использования.

Возможно, вам будет интересно использовать повторно выбрать. См. документы для использования селектора.

Спасибо. Я тоже пробовал componentDidUpdate - безуспешно. Я не уверен, что компоненты коннектора Algolia вызывают или следуют обычному жизненному циклу React.

chad steele 04.09.2018 16:48

Другие вопросы по теме