Должен ли componentDidMount запускаться из connectStateResults? - PullRequest
0 голосов
/ 04 сентября 2018

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

class ActorsClass extends connectStateResults {

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

  componentDidMount() {
    console.log("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>
    );
  }

1 Ответ

0 голосов
/ 04 сентября 2018

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...