<Switch>
возвращает только один первый соответствующий маршрут.
exact
возвращает любое количество точно совпадающих маршрутов.
Когда ваши маршруты такие,
<Route key={"1"} path={"/About/Photo/Public/:Fuu"} component={About} />
<Route key={"2"} path={"/About/Photo/:Juu"} component={NoMatch} />
Интерпретация для лучшего понимания
<Route key={"1"} path={"/base_path/sub_path_1/sub_path_2/sub_path_3"} component={About} />
<Route key={"2"} path={"/base_path/sub_path_1/sub_path_2"} component={NoMatch} />
Теперь, когда вы нажали на ссылку About
, он ищет маршрут, и в этом случае он заканчивается двумя маршрутами с путем /base_path/sub_path_1/sub_path_2
, и выодновременно получают компоненты About
и NoMatch
.
, поэтому вам нужно указать атрибут exact
, чтобы получить только один компонент.
Также есть точка, в которую нужно добавить exact
, поэтому для любого маршрута с меньшим значением sub_path
для этого маршрута необходимо добавить атрибут exact
.
В вашем случае вы должны добавить атрибут exact
к NoMatch
компонентному маршруту, потому что он имеет меньше sub_path
.
Demo