代码之家  ›  专栏  ›  技术社区  ›  Agrim Singh

对象无效,因为使用React router dom时显示React子错误

  •  0
  • Agrim Singh  · 技术社区  · 1 年前

    所以,我使用的是react路由器dom v6,当我定义所有路由时,我得到了一个错误,说:

    对象作为React子对象无效(找到:[object Promise])。如果要渲染子对象的集合,请改用数组。

    我的react路由器dom版本是6.14.0。我使用的代码与我在以前的项目中使用的代码完全相同。我使用react router dom的最后一个项目的版本是6.11.2。

    我已初始化 BrowserRouter 在文件中 index.js 像这样:

    import App from "./App";
    import { BrowserRouter } from "react-router-dom";
    
    const root = ReactDOM.createRoot(document.getElementById("root"));
    root.render(
      <React.StrictMode>
        <BrowserRouter>
          <App />
        </BrowserRouter>
      </React.StrictMode>
    );
    

    我正在初始化所有的路由,如下所示:

    import Navbar from "./components/Navbar";
    import Home from "./components/Home";
    import { Routes, Route } from "react-router-dom";
    import AddAPost from "./components/AddAPost";
    import Login from "./components/Login";
    import Register from "./components/Register";
    import Post from "./components/Post";
    
    function App() {
      return (
        <div className="app">
          <Navbar />
          <Routes>
            <Route path="/" element={<Home />} />
            <Route path="/addapost" element={<AddAPost />} />
            <Route path="/login" element={<Login />} />
            <Route path="/register" element={<Register />} />
            <Route path="/posts:postid" element={<Post />} />
          </Routes>
        </div>
      );
    }
    

    我还阅读了react router dom的文档,与他们的代码相比,一切似乎都很好。

    1 回复  |  直到 1 年前
        1
  •  1
  •   SeyMi    1 年前

    您似乎试图将promise对象呈现为React子对象,因此问题出现在您的某个组件中。

    检出零部件及其默认导出。可能您的功能组件是一个异步函数。