Reactjs 使用ReactRouter创建二级导航

Reactjs 使用ReactRouter创建二级导航,reactjs,react-router,Reactjs,React Router,我有这样一个模板: 我试图使用路由器在组件中创建选项卡,但出现错误 我的index.js是 import React from 'react' import { render } from 'react-dom' import { Provider as ReduxProvider } from 'react-redux' // import { Provider as IntlProvider } from './components/Intl' import { R

我有这样一个模板:

我试图使用路由器在组件中创建选项卡,但出现错误

我的
index.js

import React from 'react'
import {
    render
} from 'react-dom'
import {
    Provider as ReduxProvider
} from 'react-redux'
// import { Provider as IntlProvider } from './components/Intl'
import {
    Router,
    Route,
    IndexRoute,
    Link,
    Redirect,
    browserHistory
} from 'react-router'


import  App  from './containers/App'
import  Home  from './containers/Home/Home'
import  Course  from './containers/Course/Course'
import  Feedback  from './containers/Feedback/Feedback'
import  Revenue from './containers/Revenue/Revenue'
import  Income from './containers/Revenue/Income'
import  IncomeOver from './containers/Revenue/IncomeOver'

render((
    <ReduxProvider >
        <IntlProvider locale={'en'}>
          <Router history={browserHistory}>
            <Route path="/" component={App}>
                <IndexRoute component={Home}/>
                <Route path="Course" component={Course}/>
                <Route path="Feedback" component={Feedback}/>
                <Route path="/Revenue" component={Revenue}>
                    <Route path="Income" component={Income}/>
                    <Route path="IncomeOver" component={IncomeOver}/>

                </Route>
            </Route>

          </Router>
        </IntlProvider>
  </ReduxProvider>
), document.getElementById('mount'))
从“React”导入React
进口{
提供
}从“反应dom”
进口{
提供程序作为ReduxProvider
}来自“react redux”
//从“./components/Intl”导入{Provider as IntlProvider}
进口{
路由器,
路线,,
IndexRoute,
链接
重新使用
浏览历史
}从“反应路由器”
从“./containers/App”导入应用程序
从“./containers/Home/Home”导入主页
从“./containers/Course/Course”导入课程
从“./containers/Feedback/Feedback”导入反馈
来自“./集装箱/收入/收入”的进口收入
来自“./集装箱/收入/收入”的进口收入
从“/containers/Revenue/IncomeOver”导入收入
渲染((
),document.getElementById('mount'))
菜单仅适用于左栏

尝试对选项卡执行相同的操作

import React from 'react'
import { Link, browserHistory } from 'react-router'

 function Revenue ({ children }) {
  return (
    <div>
    <div>
              <ul>
                  <li><Link to="/Income" activeClassName="activelink">1111 </Link></li>
                  <li><Link to="/IncomeOver" activeClassName="activelink">2222 </Link></li>

              </ul>
          </div>
      <div className="cont-position">{children}</div>
    </div>

  )
}
export default Revenue
从“React”导入React
从“react router”导入{Link,browserHistory}
函数收入({children}){
返回(
  • 1111
  • 2222
{儿童} ) } 出口违约收入

但这对我不起作用。如何解决这个问题?我需要标签之类的东西。打开页面,然后单击链接切换组件。不确定为什么它不工作,您可能需要提供更多详细信息,但请尝试以下操作:

在这两行中:

            <Route path="Course" component={Course}/>
            <Route path="Feedback" component={Feedback}/>

将/添加到如下路径:

            <Route path="/Course" component={Course}/>
            <Route path="/Feedback" component={Feedback}/>

删除此项:

             <Route path="/Revenue" component={Revenue}>
                <Route path="Income" component={Income}/>
                <Route path="IncomeOver" component={IncomeOver}/>

            </Route>

替换为:

         <Route path="/" component={Revenue}>
            <Route path="Revenue" component={Revenue}>
                <Route path="Income" component={Income}/>
                <Route path="IncomeOver" component={IncomeOver}/>

            </Route>
          </Route>

我想您可以像这样在一个级别上注册它们

<Route path="/" component={App}>
   <IndexRoute component={Home}/>
   <Route path="Course" component={Course}/>
   <Route path="Feedback" component={Feedback}/>
   <Route path="/Revenue" component={Revenue}/>
   <Route path="/Revenue/Income" component={Income}/>
   <Route path="/Revenue/IncomeOver" component={IncomeOver}/>
 </Route>
<Link to="/Revenue/Income" activeClassName="activelink">1111 </Link>

以后像这样使用它们

<Route path="/" component={App}>
   <IndexRoute component={Home}/>
   <Route path="Course" component={Course}/>
   <Route path="Feedback" component={Feedback}/>
   <Route path="/Revenue" component={Revenue}/>
   <Route path="/Revenue/Income" component={Income}/>
   <Route path="/Revenue/IncomeOver" component={IncomeOver}/>
 </Route>
<Link to="/Revenue/Income" activeClassName="activelink">1111 </Link>
1111
尝试使用“精确”