Не в состоянии получить предыдущее значение реквизита в реакции - PullRequest
1 голос
/ 19 марта 2020

У меня есть подробный список, основанный на условии, что мне нужно показать столбцы. Если я делаю подход ниже, то он работает нормально, но на метод рендеринга

      return (
      <DetailsList
        isLoading={isLoading(this.props.loadProgress)}
        items={this.props.solutionSubcomponents}
        columns={
          this.props.solutionSubcomponents.length > 0 &&
          this.props.solutionSubcomponents[0].subcomponentType.logicalName ===
            SolutionComponentTypes.EntityRelationship.logicalName
            ? this.buildColumns()
            : this.buildRelationshipColumns()
        }
        renderOnEmpty={() => {
          let props = this.getPropsOnEmpty();
          return <EmptyState {...props} />;
        }}
        filter={this.props.searchFilter}
        renderOnEmptySearch={() => {
          let props = this.getPropsOnEmptySearch();
          return <EmptyState {...props} />;
        }}

Этот код работает нормально, но так как это не очень хороший подход, поэтому я хочу обработать это на ComponentDidMount, но не могу получить предыдущее значение реквизита.

        public componentDidUpdate(prevProps: ISolutionSubcomponentListProps): void {
        if (
          this.props.solutionSubcomponents.length > 0 &&
          prevProps.solutionSubcomponents.length > 0 &&
          this.props.solutionSubcomponents[0].subcomponentType.logicalName !==
            prevProps.solutionSubcomponents[0].subcomponentType.logicalName
        ) {
          if (
            this.props.solutionSubcomponents.length > 0 &&
            this.props.solutionSubcomponents[0].subcomponentType.logicalName ===
              SolutionComponentTypes.EntityRelationship.logicalName
          ) {
            this.columns = this.buildRelationshipColumns();
          }
        }
      }

Подскажите, пожалуйста, как я могу установить динамический столбец c, чтобы он реагировал на метод жизненного цикла вместо метода рендеринга в подробном списке.

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