Общее внутреннее состояние многократного использования компонента - PullRequest
0 голосов
/ 10 мая 2019

Это проблема, с которой я столкнулся и несколько дней подряд терял сознание, может быть, это поможет другим, кто сталкивается с подобными проблемами:

Я использую office-fabric-ui-реакции для своего приложения.И я использую Pivot / PivotItem, чтобы показать разные списки, где вы можете, в зависимости от типа, добавить Member или Manager и т. Д.

Данные для этих списков происходят из одного и того же массива, а списки - это просто фильтры, которыеразделены по типу элементов.

Теперь в этих списках используется компонент, который я запрограммировал сам, и они, похоже, делятся друг с другом своим внутренним состоянием.

Я отдал фильтр через реквизитыи сохранил его в таком состоянии:

constructor(props: any) {
    super(props);
    this.state = {
      selection: new Selection(),
      showModal: false,
      filter: this.props.filter
    };
  }

И в каждом своем Pivot у него был фильтр первого Pivot, на который я нажал.

Причина: я придурок, я далу каждого PivotItem одно и то же свойство {key}, поэтому он почему-то думал, что все это один экземпляр.

Как только я заполнил {key} фильтром, все работало, как и ожидалось.

...