Когда вы выполняете деструктуризацию объекта. У вас будет доступ только к свойствам, которые вы укажете.
Поскольку все реквизиты, передаваемые компоненту, доступны через аргумент, который конструктор получает обычно как props
, вы можете получить к ним доступ через props.prop_name
Если у вас есть ChildComponent
, внутри которого вы хотите иметь доступ к router
свойствам, таким как история, местоположение, совпадение и свойствам, которые он получает от своего родителя, вы можете выполнить это следующим образом.
учтите, что в ParentComponent
вы визуализируете ChildComponent
вот так
<ChildComponent name="The child component" />
Чтобы получить доступ как к параметру router
, так и к реквизитам, полученным от родителя, вы делаете это
import { withRouter } from 'react-router-dom';
const ChildComponent = (props) => {
// Here you have access to react-router-dom parameter
const {history, location, match} = props;
return <div>
{/*
to access name props receive from the parent
component you perform it like below
*/}
{props.name}
</div>
}
export default withRouter(ChildComponent);