Пользовательский интерфейс материала - React Router - сухари с идентификатором - PullRequest
0 голосов
/ 08 февраля 2019

Я пытаюсь реализовать материальные и хлебные крошки, интегрированные с ReactionRouter, но у меня небольшая проблема,

const breadcrumbNameMap = {
  '/users': 'Users',
  '/users/:id': ':id',
  '/users/:id/detail': 'Details',
}

, а затем компонент из примера пользовательского интерфейса:

      <NoSsr>
        <MemoryRouter initialEntries={['/stock']} initialIndex={0}>
          <div >
            <Route>
              {({ location }) => {
                const pathnames = this.props.location.pathname.split('/').filter(x => x)

                return (
                  <Breadcrumbs arial-label="Breadcrumb">
                    {/* <Link component={RouterLink} color="inherit" to="/stocks">
                      Home
                    </Link> */}
                    {pathnames.map((value, index) => {
                      const last = index === pathnames.length - 1;
                      const to = `/${pathnames.slice(0, index + 1).join('/')}`;
                      return last ? (
                        <Typography color="textPrimary" key={to}>
                          {breadcrumbNameMap[to]}
                        </Typography>
                      ) : (
                        <Link component={RouterLink} color="inherit" to={to} key={to}>
                          {breadcrumbNameMap[to]}
                        </Link>
                      )
                    })}
                  </Breadcrumbs>
                )
              }}
            </Route>
          </div>
        </MemoryRouter>
      </NoSsr>

Что происходит, так как ': id' не указан, сценарий не может найти правильную строку для добавления в крошку.(если я укажу идентификатор, он будет работать, как и ожидалось)

есть ли способ передать: id как реквизит к сухарям, чтобы я мог отобразить полные маршруты с идентификаторами?

1 Ответ

0 голосов
/ 08 февраля 2019

Вместо местоположения вы можете использовать match т.е. match.params.id

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