React-Router:如何避免在 div 中包装 <Route /> 元素
React-Router: How to avoid wrapping <Route /> elements in div
如何避免对 App.js 中的所有路由使用环绕?
(使用 react-route v4)
App.js
import { Route } from 'react-router-dom'
class App extends Component {
render() {
return (
<div> // <-- I want to avoid this div to have cleaner css
<Route path="/" component={Analytics} />
<Route exact path="/" component={Page_1} />
<Route exact path="/page-2" component={Page_2} />
<Route exact path="/page-3" component={Page_3} />
</div>
)
}
}
Index.js
import { BrowserRouter } from 'react-router-dom'
ReactDOM.render(
<BrowserRouter>
<App />
</BrowserRouter>,
document.getElementById('root')
)
在 React 16 之前你必须这样做,从 React 16.2 开始你可以使用 Fragments
:见 https://reactjs.org/docs/fragments.html
例如
render() {
return (
<React.Fragment> //could also be just <>
<Route path="/" component={Analytics} />
<Route exact path="/" component={Page_1} />
<Route exact path="/page-2" component={Page_2} />
<Route exact path="/page-3" component={Page_3} />
<React.Fragment>
)
}
或者如果您愿意,您可以 return 一个元素数组:
render() {
return [
<Route key="1" path="/" component={Analytics} />,
<Route key="2" exact path="/" component={Page_1} />,
<Route key="3" exact path="/page-2" component={Page_2} />,
<Route key="4" exact path="/page-3" component={Page_3} />
]
}
(记得把钥匙放进去)
如何避免对 App.js 中的所有路由使用环绕? (使用 react-route v4)
App.js
import { Route } from 'react-router-dom'
class App extends Component {
render() {
return (
<div> // <-- I want to avoid this div to have cleaner css
<Route path="/" component={Analytics} />
<Route exact path="/" component={Page_1} />
<Route exact path="/page-2" component={Page_2} />
<Route exact path="/page-3" component={Page_3} />
</div>
)
}
}
Index.js
import { BrowserRouter } from 'react-router-dom'
ReactDOM.render(
<BrowserRouter>
<App />
</BrowserRouter>,
document.getElementById('root')
)
在 React 16 之前你必须这样做,从 React 16.2 开始你可以使用 Fragments
:见 https://reactjs.org/docs/fragments.html
例如
render() {
return (
<React.Fragment> //could also be just <>
<Route path="/" component={Analytics} />
<Route exact path="/" component={Page_1} />
<Route exact path="/page-2" component={Page_2} />
<Route exact path="/page-3" component={Page_3} />
<React.Fragment>
)
}
或者如果您愿意,您可以 return 一个元素数组:
render() {
return [
<Route key="1" path="/" component={Analytics} />,
<Route key="2" exact path="/" component={Page_1} />,
<Route key="3" exact path="/page-2" component={Page_2} />,
<Route key="4" exact path="/page-3" component={Page_3} />
]
}
(记得把钥匙放进去)