对于使用React Router获取当前URL路径名的最有效方法是什么(使用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也是如此。

任何建议表示赞赏,谢谢。

最佳答案

属性this.props.location.pathname在“各种”组件中不可用,仅在您的路线处理组件中可用。即CustomerLookupAppCustomerLookupProfileWrapperCustomerLookupStoreProfileWrapperCustomerLookupStoreItemsWrapper

如果您需要路径名在树的更下方,则可以将其作为道具传递。

关于javascript - 在带有浏览器历史记录的React Router中获取当前路由的路径名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40412658/

10-11 04:49