Reactjs 在非SPA中使用react路由器

Reactjs 在非SPA中使用react路由器,reactjs,react-router,single-page-application,Reactjs,React Router,Single Page Application,我们有一个使用Laravel用PHP编写的非SPA,其中我们只在几页中使用了React 我面临以下情况:我必须创建两个视图: /admin/Locations /admin/UserGroups 如果用户在浏览器URL中键入,服务器将重定向到/admin/locations页面,但是,我只想呈现组件 另一方面,如果用户试图访问,服务器将重定向到/admin/userGroups页面,并且只需要呈现组件 为了构建这个应用程序,我创建了一个名为EngagementTrackerApp.js的文件(

我们有一个使用Laravel用PHP编写的非SPA,其中我们只在几页中使用了React

我面临以下情况:我必须创建两个视图:

/admin/Locations
/admin/UserGroups
如果用户在浏览器URL中键入,服务器将重定向到/admin/locations页面,但是,我只想呈现
组件

另一方面,如果用户试图访问,服务器将重定向到/admin/userGroups页面,并且只需要呈现
组件

为了构建这个应用程序,我创建了一个名为EngagementTrackerApp.js的文件(即模块的名称)。在EngagementTrackerApp.js中,我有以下代码:

render(
    <BrowserRouter>
        <Route path="/admin/locations" component={Locations} history={browserHistory} />   
        <Route path="/admin/userGroups" component={UserGroups} history={browserHistory}/>   
    </BrowserRouter>,
    document.getElementById('view')
);
渲染(
,
document.getElementById('视图')
);
在每个页面(Locations.blade.php和UserGroups.blade.php)中,我都有一个名为
div

它不是这样工作的,但是,为了让它工作,我需要删除其中一个路由

比如说。如果我删除路由位置,用户可以通过URL访问用户组视图:

<BrowserRouter>
    <Route path="/admin/et/userGroups" component={UserGroups} history={browserHistory}/>   
</BrowserRouter>

但是,如果我将两条路线放在一起,它就会停止工作:

<BrowserRouter>
    <Route path="/admin/et/locations" component={Locations} history={browserHistory} />   
    <Route path="/admin/et/userGroups" component={UserGroups} history={browserHistory}/>   
</BrowserRouter>

我的div视图始终为空


我应该怎么做,或者为什么它只对一条路由有效?

您不能在
浏览器路由器中指定多条路由。你得把它们包在一个小隔间里

render(
    <BrowserRouter>
        <div>
        <Route path="/admin/locations" component={Locations} history={browserHistory} />   
        <Route path="/admin/userGroups" component={UserGroups} history={browserHistory}/> 
        </div>  
    </BrowserRouter>,
    document.getElementById('view')
);
渲染(
,
document.getElementById('视图')
);

如果您正在访问
http://localhost/admin/userGroup:
,您的路线应该是
path=“/admin/userGroups”
,而不是
path=“/admin/et/userGroups”
,这只是一个打字错误。我要在问题中解决这个问题,我试过了。没有成功检查答案没有。。。我看到的是,在div内部,当我只有一个路由器时,我处于一个相反的URL中(例如,通过URL访问用户组,但是,我只是位置的路由,它在div内部显示React对象为空,并且将这些路由放在一起,它只呈现没有任何内容的div(React comment)这条规则是在什么地方写的吗?,
children:node是要呈现的单个子元素。