, похоже, есть некоторые разногласия между различными источниками о том, какой наиболее эффективный способ получить путь к текущему URL-адресу с использованием React Router (с использованием browserHistory
). Ниже приведен фрагмент кода моего провайдера и маршрутов:Получение пути к текущему маршруту в React Router w/browserHistory
ReactDOM.render(
<Provider store={Store}>
<Router history={browserHistory}>
<Route path="/tools/customer-lookup" component={CustomerLookupApp} />
<Route path="/tools/customer-lookup/profile/:id" component={CustomerLookupProfileWrapper} />
<Route path="/tools/customer-lookup/profile/:id/store/:storeid" component={CustomerLookupStoreProfileWrapper} />
<Route path="/tools/customer-lookup/profile/:id/store/:storeid/transaction/:transid" component={CustomerLookupStoreItemsWrapper} />
</Router>
</Provider>,
document.getElementById('customer-lookup-main'));
});
Пробовал регистрации this.props.location.pathname
в различных компонентах, но всегда приходит не определено. То же самое с this.context
.
Любые советы приветствуются, спасибо.
Ваши коды выглядят правильно, за исключением того, что ваши маршруты маршрутов немного избыточны. Вы можете использовать дочерние маршруты для уменьшения длины «пути». Вы можете публиковать полные коды для debugging.red –
@JasonXu, за исключением того, что я пытаюсь ** избегать ** вложенности одного компонента в другой при путешествии на детский маршрут. Скорее, маршруты (хотя я согласен, что они выглядят ужасно избыточными) связывают совершенно другое представление о приложении с одной страницей и не обязательно повторно используют какой-либо из родительских компонентов. Если есть лучший способ выполнить **, что ** и все еще гнездятся маршруты, мне интересно услышать об этом. – Jose