Компонент рендерит дважды с повторным выбором - PullRequest
0 голосов
/ 06 марта 2020

Следующий selectManageAdvancedUserFilters селектор вызывает рендеринг моего компонента дважды, но без этого селектора он рендерит только один раз

export const selectManageAdvancedUserFilters = typeCode => {
  return createSelector([selectUserFilters(typeCode)], userFilters => {
    const manageAdvancedFilters = userFilters.map((filter, index) => {
      return {
        index: index + 1,
        label: filter.name,
        value: filter.name,
        id: filter.id
      };
    });
    return manageAdvancedFilters;
  });
};

export const selectUserFilters = typeCode => {
  return createSelector([selectAllUserFilters], allUserFilters =>
    allUserFilters.filter(allUserFilter => allUserFilter.type === typeCode)
  );
};

export const selectAllUserFilters = createSelector(
  [selectControls],
  controls => {
    return controls && controls.advancedFilters ? controls.advancedFilters : [];
  }
);


export const selectControls = state => {
  return state.controls.data;
};

здесь используется селектор

const unallocatedFilters = useSelector(
    selectDropdownSuggestionFilters('AF1')
  )

Что является причиной перерисовки с этим селектором?

1 Ответ

0 голосов
/ 06 марта 2020

Я думаю, что повторный рендеринг вызван деталями реализации параметра Dynami c, typeCode.

См. Ссылку ниже: https://github.com/reduxjs/reselect/issues/392

...