Компонент withRouter Higher-order-Component, предоставляемый пакетом react-router
, предоставит вам доступ к объекту местоположения.Если у вас есть это, вы можете условно визуализировать заголовок путем короткого замыкания.
import {withRouter} from 'react-router'
const App = ({location}) => (
<div>
{location.pathname !== '/exclusion-path' && <Header/>}
<Switch>
...
</Switch>
</div>
)
export default withRouter(App)
или для исключения по нескольким путям ...
const exclusionArray = [
'/path-one',
'/another-path',
]
const App = ({location}) => (
<div>
{exclusionArray.indexOf(location.pathname) < 0 && <Header/>}
<Switch>
...
</Switch>
</div>
)
Если вы делаете что-то серьезное, ярекомендую использовать контекстный API и короткое замыкание на значении, предоставленном контекстом.Если это так, и вам нужно какое-то направление, я с радостью объясню вам.
PS Если вы захотите сделать это с помощью API Alpha Hooks, я действительно буду в восторге.
РЕДАКТИРОВАТЬ: Для адресации.
Переместите маршрутизатор за пределы компонента приложения.
import {BrowserRouter as Router} from 'react-router-dom'
import ReactDOM from 'react-dom'
ReactDOM.render(
<Router>
<App/>
</Router>,
document.getElementById('render-target')
)