我假设您使用的是React-Router V4,就像您在原始Sandbox
link中使用的一样。
您呈现
Main在调用组件
ReactDOM.render用来渲染
link和主要成分是外面
Router,这就是为什么它被抛出的错误:
您不应在
外使用
变化 :
使用 这些路由器 ,BrowserRouter / HashRouter等中的任何一个,因为您使用的是React-Router V4。
路由器只能有一个孩子,因此将所有路由包装在
div
或交换机中。React-Router V4没有嵌套路由的概念,如果您想使用嵌套路由,请直接在该组件内部定义这些路由。
通过所有这些更改来检查 此工作示例 。
父组件:
const App = () => ( <BrowserRouter> <div className="sans-serif"> <Route path="/" component={Main} /> <Route path="/view/:postId" component={Single} /> </div> </BrowserRouter>);render(<App />, document.getElementById('root'));Main
路线中的组成部分
import React from 'react';import { link } from 'react-router-dom';export default () => ( <div> <h1> <link to="/">Redux example</link> </h1> </div>)等等。



