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

做网站设计方案怎么写广告设计培训班学校有哪些

做网站设计方案怎么写,广告设计培训班学校有哪些,化妆品销售网站的源代码,微营销的方式有哪些前言 之前初步体验了 React 的魅力, 又看文档理解了一下 useState 和 useEffect, 目前初步理解的概念是: useState 用来声明在组件中使用并且需要修改的变量 useEffect 用来对 useState 声明的变量进行初始化赋值 可能理解的不太准确, 不过大概差不多是这么个意思. 但是再往后…前言 之前初步体验了 React 的魅力, 又看文档理解了一下 useState 和 useEffect, 目前初步理解的概念是: useState 用来声明在组件中使用并且需要修改的变量 useEffect 用来对 useState 声明的变量进行初始化赋值 可能理解的不太准确, 不过大概差不多是这么个意思. 但是再往后看路由什么的就头大了, 还得手动添加各种其他的 package 进行实现, 显然不符合 OOBE 的体验. 逛了一圈发现基于 React 做的另外一个更 “高级” 的框架 Next.js, 来个快速入门做一下笔记. 后端实现 计划使用 FastAPI 进行后端的设计, Next.js 做前端. Python, nodejs, VScode 什么的安装环境就不罗嗦了, 直接开干! # 创建项目文件夹 New-Item -ItemType Directory .\next-study; New-Item -ItemType Directory .\next-study\backend; cd next-study\backend# 初始化后端 FastAPI 文件夹 virtualenv venv code .在 VScode 中打开 Terminal (会自动激活当前的 Virtualenv), 安装依赖: pip install fastapi uvicorn创建 main.py from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from pydantic import BaseModelapp FastAPI()# 配置 CORS 跨域允许访问 app.add_middleware(CORSMiddleware,allow_origins[*],allow_methods[*] )# 定义要处理的请求中的 JSON 数据格式 class Message(BaseModel):message: strapp.get(/) def get_data():# GET 数据的路由return {message: This is default message from FastAPI}app.put(/) def update_data(update_message: Message):# PUT 更新数据的路由# 直接在函数定义里面加入参数就能接收和处理请求发来的 JSON 数据了, FastAPI 果然是干这个的, 好用!return update_message回到 Terminal 启动: uvicorn main:app --reload用 Apipost 测一下, 真 tm 好使~ OK, 后端就先这样 前端实现 最小化后端的 VScode, 回到 PowerShell 中使用脚手架创建 Next.js 项目 # 返回 next-study 路径 cd ... # 脚手架走起来 npx create-next-app frontend # 全用默认回复, 完成项目创建 √ Would you like to use TypeScript? ... No / Yes √ Would you like to use ESLint? ... No / Yes √ Would you like to use Tailwind CSS? ... No / Yes √ Would you like to use src/ directory? ... No / Yes √ Would you like to use App Router? (recommended) ... No / Yes √ Would you like to customize the default import alias (/*)? ... No / Yes # 开干 cd frontend code .先不整花里胡哨的, 直接清空 app/page.tsx 内容, 重新写一个简单的页面: use client; // 声明这是一个 Client Side Render 的 Component import { useEffect, useState } from react;// 使用接口定义页面中用到的数据格式 interface Data {message: string; }const page () {// 声明页面中要维护的数据及默认值const [data, setData] useStateData({message: Default message of Next useState(),});// Component 加载时自动从后端获取数据const apiUrl http://localhost:8000;useEffect(() {fetch(apiUrl).then((res) res.json()).then((json) {setData(json);});}, []); // 务必注意加上后面的第二个空数组参数, 否则页面会一直向后端发送请求获取数据return (divp{data.message}/p/div); };export default page; npm run dev 跑一下: 如果把 useEffect() 中的 setData() 注释掉, 则会显示 useState 定义的默认内容 接下来添加一个 Button 用来和后端交互更新页面内容 use client; // 声明这是一个 Client Side Render 的 Component. Next.js 默认使用 Server Side Render import { useEffect, useState } from react;// 使用接口定义页面中用到的数据格式 interface Data {message: string; }const page () {// 声明页面中要维护的数据及默认值const [data, setData] useStateData({message: Default message of Next useState(),});// Component 加载时自动从后端获取数据const apiUrl http://localhost:8000;useEffect(() {fetch(apiUrl).then((res) res.json()).then((json) {setData(json);});}, []); // 务必注意加上后面的第二个空数组参数, 否则页面会一直向后端发送请求获取数据// 按钮点击事件const handleClick async () {fetch(apiUrl, {method: PUT,headers: {Content-Type: application/json,},body: JSON.stringify({message: Updated message by Next.js button.,}),}).then((ret) ret.json()).then((json) setData(json)); // 调用 useState 返回的第二个函数进行数据更新};return (divp{data.message}/pbutton onClick{handleClick}Click me/button/div); };export default page; 刷新点击按钮查看效果 Emm…好像也不是太复杂的 美化一下 还记得开头用 Next.js 脚手架创建项目的时候问题里面包含了 Tailwind CSS 吧, 快速瞅一下文档, 美化一下页面样式 use client; // 声明这是一个 Client Side Render 的 Component. Next.js 默认使用 Server Side Render import { useEffect, useState } from react;// 使用接口定义页面中用到的数据格式 interface Data {message: string; }const page () {// 声明页面中要维护的数据及默认值const [data, setData] useStateData({message: Default message of Next useState(),});// Component 加载时自动从后端获取数据const apiUrl http://localhost:8000;useEffect(() {fetch(apiUrl).then((res) res.json()).then((json) {setData(json);});}, []); // 务必注意加上后面的第二个空数组参数, 否则页面会一直向后端发送请求获取数据// 按钮点击事件const handleClick async () {fetch(apiUrl, {method: PUT,headers: {Content-Type: application/json,},body: JSON.stringify({message: Updated message by Next.js button.,}),}).then((ret) ret.json()).then((json) setData(json));};return (div{/* Hero section */}div classNamebg-blue-900 text-white py-16div classNamecontainer mx-auto text-centerh1 classNametext-4xl font-bold{data.message}/h1p classNamemt-4 text-lgClick the button will change content from FastAPI./pbuttononClick{handleClick}classNamemt-8 bg-yellow-500 hover:bg-yellow-600 text-blue-900 font-semibold py-2 px-6 rounded-full inline-block transition duration-300 ease-in-outClick me/button/div/div/div); };export default page; 美丽!
http://www.pierceye.com/news/481065/

相关文章:

  • 东莞网站建设管理sem网络推广公司
  • seo建站平台哪家好做qq空间网站
  • 网站制作性价比哪家好中国最大的家装网站
  • 网站域名被注册公司运营管理方案
  • 网站建设评语商城微发布官网
  • 仿同程网 连锁酒店 网站模板系统模板html
  • 推广网app下载seo课程
  • 有效方法的小企业网站建设域名怎么拿来做网站
  • 网站版面如何布局做一个企业的网站怎么做的
  • 天门市城市建设管理局网站大连专业网页设计
  • 百度网站收录提交入口全攻略网站支付体现功能怎么做
  • 网站更改文章标题主流跨境电商平台有哪些
  • vue做直播网站上海最繁华的五个区
  • 做网站和微信小程序电子商务网站建设与管理的背景
  • 做网站国内阿里云虚拟主机多少钱东莞常平中学高中部
  • 用.net做购物网站灵山建设局网站
  • 烟台网站设计制作公司电话python购物网站开发流程
  • 医疗网站怎么做seo怎样通过网址浏览自己做的网站
  • 湖北现代城市建设集团网站wordpress用户头像插件
  • 徐州双语网站制作响应式网站开发pdf
  • 怎么做建设网站公司创建一个网站多少钱
  • 好看的扁平化网站wordpress插件编写
  • 深圳网站设计模板ps可以做网站动态图
  • 微信网站制作入门网站开发实施方案进度
  • 网站用户界面设计国内网站建设最好公司
  • 运城做网站费用高吗高端模板建站
  • 凡客诚品网站设计合肥网红打卡地
  • 淘宝网站代理怎么做的广西送变电建设公司铁塔厂网站
  • 自媒体网站开发网站的推广方式包括
  • 教育做的比较好的网站有哪些网站的建设及维护