当前位置: 首页 > wzjs >正文

移动端网站做排名做外贸网站需要注意些什么问题

移动端网站做排名,做外贸网站需要注意些什么问题,做网站py和php,wordpress支付宝扫码支付Next.js 是一个基于 React 的服务端渲染框架,它提供了很多开箱即用的功能,如自动路由、API 路由、静态生成、增量静态再生等。本文将带你一步步创建一个 Next.js 项目,并实现一个简单的 TodoList 功能。 效果地址 🧱 安装 Next.j…

Next.js 是一个基于 React 的服务端渲染框架,它提供了很多开箱即用的功能,如自动路由、API 路由、静态生成、增量静态再生等。本文将带你一步步创建一个 Next.js 项目,并实现一个简单的 TodoList 功能。


效果地址

🧱 安装 Next.js 项目

首先确保你的开发环境已经安装了 Node.js(推荐版本为 Node.js 18.18 或更高)。

接下来使用 create-next-app 创建一个新的 Next.js 项目:

npm i create-next-app@latest
npx create-next-app@latest nexy-app

在创建过程中,命令行会引导你选择以下配置项:

√ What is your project named? ... nexy-app
√ Would you like to use TypeScript? ... Yes
√ Would you like to use ESLint? ... Yes
√ Would you like to use Tailwind CSS? ... Yes
√ Would you like your code inside a `src/` directory? ... Yes
√ Would you like to use App Router? (recommended) ... Yes
√ Would you like to use Turbopack for `next dev`? ... No
√ Would you like to customize the import alias (`@/*` by default)? ... Yes
√ What import alias would you like configured? ... @/*

这些选项的作用:

选项说明
TypeScript启用 TypeScript 支持
ESLint添加代码规范支持
Tailwind CSS使用 Tailwind CSS 作为样式工具
src/ 目录将代码结构放在 src 文件夹下
App Router使用 Next.js 13+ 推荐的 App Router 系统
Turbopack使用实验性的快速打包工具
导入别名设置模块路径别名,方便引用

完成后,进入项目目录并运行开发服务器:

cd nexy-app
npm run dev

📁 Next.js 的文件系统路由机制

Next.js 13+ 引入了基于文件系统的路由系统(File-system based routing),这是其核心特性之一 。

基本规则如下:

  • 每个 src/app 下的文件夹代表一个路由段。
  • 文件夹中的 page.tsx 是该路由的页面组件。
  • 特殊文件有特定用途:
    • layout.tsx:共享布局
    • loading.tsx:加载状态组件
    • error.tsx:错误边界
    • not-found.tsx:404 页面

示例结构:

src/
└── app/├── page.tsx → /├── about/│   └── page.tsx → /about├── contact/│   └── page.tsx → /contact

Next.js 会在构建时自动扫描 app 目录,根据目录结构生成对应的路由配置,无需手动注册 。


✅ 实现一个 TodoList 示例

下面我们将创建一个简单的 TodoList 页面,演示如何在 Next.js 中使用客户端组件和状态管理。

步骤一:创建页面文件

src/app 目录下新建一个 todo 文件夹,并在其内部创建 page.tsx 文件:

src/app/todo/page.tsx

步骤二:编写 TodoList 组件

"use client"; // 表示这是一个客户端组件import React, { useState } from "react";// 定义 Todo 项的类型
interface TodoItem {id: number;text: string;completed: boolean;
}export default function TodoPage() {const [todos, setTodos] = useState<TodoItem[]>([]);const [inputValue, setInputValue] = useState("");const addTodo = (e: React.FormEvent) => {e.preventDefault();if (inputValue.trim() === "") return;const newTodo: TodoItem = {id: Date.now(),text: inputValue.trim(),completed: false,};setTodos([...todos, newTodo]);setInputValue("");};const toggleTodo = (id: number) => {setTodos(todos.map((todo) =>todo.id === id ? { ...todo, completed: !todo.completed } : todo));};const deleteTodo = (id: number) => {setTodos(todos.filter((todo) => todo.id !== id));};return (<div className="min-h-screen p-8"><div className="max-w-md mx-auto"><h1 className="text-3xl font-bold mb-8 text-center">Todo List</h1>{/* 添加 Todo 的表单 */}<form onSubmit={addTodo} className="mb-8"><div className="flex gap-2"><inputtype="text"value={inputValue}onChange={(e) => setInputValue(e.target.value)}placeholder="添加新的待办事项..."className="flex-1 px-4 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500"/><buttontype="submit"className="px-4 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-500">添加</button></div></form>{/* Todo 列表 */}<ul className="space-y-3">{todos.map((todo) => (<likey={todo.id}className="flex items-center justify-between p-4 bg-white rounded-lg shadow"><div className="flex items-center gap-3"><inputtype="checkbox"checked={todo.completed}onChange={() => toggleTodo(todo.id)}className="w-5 h-5 text-blue-500 rounded focus:ring-blue-500"/><spanclassName={`${todo.completed? "line-through text-gray-500": "text-gray-800"}`}>{todo.text}</span></div><buttononClick={() => deleteTodo(todo.id)}className="text-red-500 hover:text-red-700 focus:outline-none">删除</button></li>))}</ul>{/* 显示 Todo 统计信息 */}{todos.length > 0 && (<div className="mt-4 text-sm text-gray-500">总计: {todos.length} 项 | 已完成:{" "}{todos.filter((t) => t.completed).length} 项</div>)}</div></div>);
}

步骤三:访问页面

现在你可以访问 http://localhost:3000/todo 查看这个 TodoList 页面。


🌟 Next.js 的优势总结

  1. 自动路由:无需手动注册路由,基于文件结构自动生成。
  2. Server Components 和 Client Components 分离:提升性能和可维护性。
  3. 集成 Tailwind CSS:轻松构建现代 UI。
  4. 支持 TypeScript:提供更强的类型安全。
  5. SSG & SSR 支持:适合 SEO 友好型网站。
  6. Turbopack / Fast Refresh:更快的开发体验。

http://www.dtcms.com/wzjs/833367.html

相关文章:

  • 温州做网站建设公司大庆网能做网站吗
  • 非标自动化东莞网站建设单位如何建设网站
  • 做团膳有哪些网站山东富泰建设工程有限公司网站
  • 网站改版怎么办杭州建设招聘信息网站
  • 上海企炬做的网站一级消防工程师考试题型
  • 什么是网站快照WordPress如何加代码
  • 3g版网站制作wordpress如何设置商城
  • 网站建设方案书 内容管理制度电商货源网站大全
  • 2021网站你懂我意思正能量郑州最新情况
  • 力洋网站建设公司商业网站开发
  • 怎么免费建设自己网站今天东莞封路
  • 徐州市 两学一做网站官方入口
  • 微信自媒体网站建设宁波企业网站搭建图片
  • 什么是营销型企业网站旅游景区规划设计公司
  • 销售网站设计搜索引擎查询
  • 公司网站制作都需要图片网站建设合同详细
  • 网站续费模版什么网站建设最便宜
  • 哪里有免费网站空间申请哪家做的濮阳网站建设
  • 青岛建设集团网站常州城乡建设局网站
  • 实体店面做网站推广要多少钱销售型企业有哪些公司
  • 在游戏网站做中介合法中小企业管理培训班
  • 最佳经验网站网站建设服务器如何选择
  • 开发网站的过程福建住房和城乡建设部网站
  • 建立网站要花多少钱外贸公司取什么名字好
  • 做网站需要多少空间阳信县住房和城乡建设局网站
  • 网站建设兼职招聘织梦怎么建设论坛网站
  • 海南建设银行官方网站宁波市市建设法规颁发网站
  • 济宁鱼台网站建设深圳seo公司
  • 网站备案信息批量查询网站建设问题新闻资讯
  • 做携程网站的技术中国手机最好的网站排名