Как использовать параметры реагирующего маршрута в подключенном селекторном переключателе? - PullRequest
0 голосов
/ 19 января 2020

У меня есть компонент, подключенный к Redux:

interface EditProgramCategoryProps {
    category: ProgramCategory;
    fetchAllCategories: () => void;
}

const PureEditProgramCategory: React.FC<EditProgramCategoryProps> = ({
                                                                         category , fetchAllCategories,
                                                                     }) => {
    let { id } = useParams();

    useEffect(() => {
        fetchAllCategories();
    }, [fetchAllCategories]);

    return (...);
};

const mapStateToProps => createSelector(
    [ProgramCategorySelectors.getById(id)], <-- this one needs an id
    (category) => ({ category }),
);

const mapDispatchToProps = {
    fetchAllCategories: ProgramCategoryActions.fetchAll.start,
};

export const EditProgramCategory = connect(mapStateToProps, mapDispatchToProps)(PureEditProgramCategory);

ProgramCategorySelectors.getById нужен идентификатор, поступающий из маршрутов. Как правильно сделать его доступным для селектора? Один из способов, который я вижу, заключается в том, чтобы сначала вставить идентификатор в приставку, однако это не кажется правильным.

1 Ответ

0 голосов
/ 19 января 2020

вы можете использовать this.props.location.search для получения значения строки запроса из URL

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