在React Router中使用browserHistory获取当前路由的路径名

时间:2016-11-03 23:01:32

标签: javascript reactjs react-router browser-history

各种来源之间似乎存在一些分歧,即使用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相同。

感谢任何建议,谢谢。

1 个答案:

答案 0 :(得分:0)

属性this.props.location.pathname将无法在&#34;各种&#34;组件,它只能在你的路线处理组件中使用。即CustomerLookupAppCustomerLookupProfileWrapperCustomerLookupStoreProfileWrapperCustomerLookupStoreItemsWrapper

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