从 React 到 Next.js

到目前为止,我们已经探讨了如何开始使用 React。以下是最终代码的样子。如果你从这里开始,请将此代码粘贴到代码编辑器的 index.html 文件中。

index.html
<html>
  <body>
    <div id="app"></div>
 
    <script src="https://unpkg.com/react@18/umd/react.development.js"></script>
    <script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>
    <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
 
    <script type="text/jsx">
      const app = document.getElementById("app")
 
      function Header({ title }) {
        return <h1>{title ? title : "Default title"}</h1>
      }
 
      function HomePage() {
        const names = ["Ada Lovelace", "Grace Hopper", "Margaret Hamilton"]
 
        const [likes, setLikes] = React.useState(0)
 
        function handleClick() {
          setLikes(likes + 1)
        }
 
        return (
          <div>
            <Header title="Develop. Preview. Ship." />
            <ul>
              {names.map((name) => (
                <li key={name}>{name}</li>
              ))}
            </ul>
 
            <button onClick={handleClick}>Like ({likes})</button>
          </div>
        )
      }
 
      const root = ReactDOM.createRoot(app);
      root.render(<HomePage />);
    </script>
  </body>
</html>

在最后几章中,我们介绍了三个 React 核心概念:组件 (Components)属性 (Props)状态 (State)。扎实掌握这些基础知识将帮助你开始构建 React 应用。

学习 React 时,最佳方式是通过实践。你可以逐步采用 React,使用 <script> 标签和目前学到的知识在现有网站中添加小组件。不过,许多开发者发现 React 带来的用户体验和开发体验非常有价值,因此会直接使用 React 构建整个前端应用。

从 React 到 Next.js

虽然 React 擅长构建用户界面,但将其独立构建成一个功能完善、可扩展的应用仍需额外工作。此外,一些新的 React 特性(如服务端组件 (Server Components) 和客户端组件 (Client Components))需要框架支持。好消息是 Next.js 处理了大部分配置工作,并提供了额外功能来帮助你构建 React 应用。

接下来,我们将把示例从 React 迁移到 Next.js,讨论 Next.js 的工作原理,并介绍服务端组件与客户端组件的区别。

On this page