不变式失败:浏览器历史记录需要一个 DOM

Key*_*oll 3 reactjs next.js

我的 App.js(经过简化但仍然会出现这么多错误。)

import React, { Component } from "react";

class App extends Component {
  state = {};

  componentDidMount() {
    this.setState({ user });
  }
}

export default App;
Run Code Online (Sandbox Code Playgroud)

我现在更新了我的 index.js:

import React from "react";
import { BrowserRouter } from "react-router-dom";
import App from "./App";

const Index = () => (
  <BrowserRouter>
    <App />
  </BrowserRouter>
);

export default Index;
Run Code Online (Sandbox Code Playgroud)

它给出了错误 Invariant failed: Browser history needs a DOM

Agn*_*ney 5

在 NextJS 中,您不必ReactDOM.render像在普通 ReactJS 应用程序中那样添加部件。NextJS 在渲染应用程序时自己做这件事。

最低限度,您必须运行应用程序是index.js在pages目录中添加一个:

const Index = () => (
  <div>
    <p>Hello Next.js</p>
  </div>
);

export default Index;
Run Code Online (Sandbox Code Playgroud)

注意Index这里的组件默认是导出的。

学习 NextJS 文档

  • 你也不需要使用“react-router”,NextJS 带有自己的路由模块。在开始之前,请阅读[基础知识](https://nextjs.org/learn/basics/getting-started) (2认同)