当前位置: 首页 > 知识库问答 >
问题:

不能在另一个内渲染。你的应用程序中不应该有多个

乜昆
2023-03-14
import { BrowserRouter, Routes, Route } from "react-router-dom";

//Layouts
import HomeLayoutRoute from "./components/layouts/HomeLayout";

//components
import Home from './components/Home';
//import Dashboard from './components/Dash';

// Routing
import PrivateRoute from "./components/routing/PrivateRoute";

// Screens
import PrivateScreen from "./components/loginscreens/PrivateScreen";
import LoginScreen from "./components/loginscreens/LoginScreen";
import RegisterScreen from "./components/loginscreens/RegisterScreen";
import ForgotPasswordScreen from "./components/loginscreens/ForgotPasswordScreen";
import ResetPasswordScreen from "./components/loginscreens/ResetPasswordScreen";

const App = () => {
  return (
    <BrowserRouter>
      <div className="app">
        <Routes> 
          <HomeLayoutRoute path="/" element={<Home />} />
          <PrivateRoute path="/" element={<PrivateScreen/>} />
          <Route path="/login" element={<LoginScreen/>} />
          <Route path="/register" element={<RegisterScreen/>} />
          <Route path="/forgotpassword" element={<ForgotPasswordScreen/>}/>
          <Route path="/passwordreset/:resetToken" element={<ResetPasswordScreen/>}/>
        </Routes>
      </div>
    </BrowserRouter>
  );
};

export default App;

这是我的应用程序。js文件这是一个错误:错误:您不能在另一个内部渲染一个。你的应用程序中不应该有多个。

此代码适用于React Router Dom版本5,但当我转到React Router Dom版本6时,出现了此错误。

共有3个答案

松景铄
2023-03-14

我使用的是react路由器dom5.3版。0,我找不到名为“Routes”的导出成员。不确定此成员是否来自较旧版本的react router dom

也就是说,我认为您可能需要替换

<BrowserRouter>
  <div className="app">
    <Switch> 
      <HomeLayoutRoute path="/" element={<Home />} />
      <PrivateRoute path="/" element={<PrivateScreen/>} />
      <Route path="/login" element={<LoginScreen/>} />
      <Route path="/register" element={<RegisterScreen/>} />
      <Route path="/forgotpassword" element={<ForgotPasswordScreen/>}/>
      <Route path="/passwordreset/:resetToken" element={<ResetPasswordScreen/>}/>
    </Switch>
  </div>
</BrowserRouter>

(https://reactrouter.com/web/api/Switch)

编辑:至于错误:“你不能在另一个里面呈现一个。你的应用程序中不应该有多个”-

端木承业
2023-03-14
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";

//Layouts
import HomeLayoutRoute from "./components/layouts/HomeLayout";

//components
import Home from './components/Home';
//import Dash from './components/DashBoard';

// Routing
import PrivateRoute from "./components/routing/PrivateRoute";

// Screens
import PrivateScreen from "./components/loginscreens/PrivateScreen";
import LoginScreen from "./components/loginscreens/LoginScreen";
import RegisterScreen from "./components/loginscreens/RegisterScreen";
import ForgotPasswordScreen from "./components/loginscreens/ForgotPasswordScreen";
import ResetPasswordScreen from "./components/loginscreens/ResetPasswordScreen";


const App = () => {
  return (
    <Router>
      <div className="app">
        <Routes>
          <HomeLayoutRoute exact path="/" component={Home} />
          <PrivateRoute exact path="/" component={PrivateScreen} />
          <Route exact path="/login" component={LoginScreen} />
          <Route exact path="/register" component={RegisterScreen} />
          <Route
            exact
            path="/forgotpassword"
            component={ForgotPasswordScreen}
          />
          <Route
            exact
            path="/passwordreset/:resetToken"
            component={ResetPasswordScreen}
          />
        </Routes>
      </div>
    </Router>
  );
};

export default App;

这是我在React路由器Dom版本5中使用的代码,我认为这是版本6的问题

壤驷乐邦
2023-03-14

从React路由器版本6起,将不支持嵌套路由器。例如,您不能使用

请参阅:https://github.com/remix-run/react-router/issues/7375

 类似资料:
  • 我理解错误消息,但不确定在这种情况下应该如何处理它。我相信使用下面的decorator会导致这个问题,但是decorator需要在Storybook中使用组件。 以下是错误消息: 相信这是由于装饰,我只能假设在我的应用程序上游找到,但据我所知,Storybook没有加载我的索引文件。所以我不确定如何继续。 以下是简化的组件: 然后,故事: 最后,文件:

  • 问题内容: 我有一个swing应用程序,该应用程序将命令发送到服务器并接收XML格式的结果。我需要通过XSLT将其转换为HTML,然后在面板上显示结果HTML。问题在于,唯一能够显示HTML的Swing组件- JEditorPane- 将URL或javax.swing.text.StyledDocument用作源。带有URL的选项对我不起作用,因为我必须先将html作为文件保存在文件系统中,并且我

  • 问题内容: 在pyGame应用程序中,我想呈现SVG中描述的无分辨率的GUI小部件。 我可以使用什么工具和/或库来实现此目标? (我喜欢OCEMP GUI工具箱,但它的呈现似乎取决于位图) 问题答案: 这是一个完整的示例,其中结合了其他人的提示。它应该从当前目录渲染一个名为test.svg的文件。它已在Ubuntu 10.10,python-cairo 1.8.8,python-pygame 1.

  • 我的AWS lambda项目结构如下: 是带有

  • 问题内容: 在本教程之后,我编写了一个非常基本的Web应用程序。我想在外部样式表中添加CSS规则,但是它不起作用- 呈现HTML模板时,出现了问题,CSS被完全忽略了。如果我将规则放在标签中,则可以使用,但是我不想处理。 在Go Web应用程序中,如何呈现外部CSS样式表? 问题答案: 添加一个处理程序以处理从指定目录提供的静态文件。 例如。创建{server.go目录} / resources

  • 问题内容: 我有一个显示多个组件的组件。从Redux存储获取数据。 当商店更新时(例如,因为我删除了一个项目),所有都重新呈现。 这是为什么? 我知道我可以用来阻止新的渲染,但是我认为Redux会在内部进行。 List.js Item.js 问题答案: 一些现有技术(如Dan Abramov所说):Redux是一种状态管理工具。它提供了一个HOC(),但该HOC 不负责组件管理 。Redux无论如