Next.js 第一次接触

  • 因为需要整个漂亮的在线文档,所以接触了next.js,因为对前端js本身不够熟悉,别说对react.js 又不会,时间又不允许深入研究,所以,为了加一个导航菜单,极其痛苦。
  • 有点小bug,不过不影响使用,这样,在线文档的结构,没有大的,问题,总结以下几点:

SVG

  • svg库文件,网上内容很多,不过稍微上规模的svg库都需要注册, https://iconmonstr.com/ 这个网站很好,直接下载,不过可能不会用的原因,设置16*16就有问题,目前是24*24。

大小不对称,不够美观。

Next.js

  • Next JS 是一个 React 框架,它提供了使用 React JS JavaScript 库创建快速 Web 应用程序的构建块。构建 Next.js 应用程序的先决条件是 JavaScript 和 React JS 知识。建议初学者首先使用 JavaScript 构建应用程序,然后通过将其重写为 React JS 项目,最后是 Next.js 项目来构建该知识。

    "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
    },

  • 是的,不用管那么多,直接使用,好处很多,可惜得花功夫研究,目前得好处就是构建jsx文件确实很爽。

JSX

  • JSX是一种JavaScript的语法扩展,首先运用于React中,其格式比较像是模版语言,但事实上完全是在JavaScript内部实现的。元素是构成React应用的最小单位,JSX就是用来声明React当中的元素。React主要使用JSX来描述用户界面,但React并不强制要求使用JSX ,而JSX也在React之外的框架得到了广泛的支持,包括Vue.js,Solid 等。
  • React 以后有时间肯定要研究一下的,国外很多组件都是用react开发的,以后肯定会遇到写自己组件的情况。
  • 目前遇到的问题就是:

useEffect与useState

这个必须得看明白,大多数文件都用这玩意,React 函数组件本身不包含状态和生命周期,因此需要使用一些 Hooks (勾子)函数来实现状态保持、状态共享和传递。

useState

可以通过 useState 为函数组件添加内部状态。组件会侦听 state 的状态变化并重新 render 渲染组件。由此衍生的内容太多了,暂时不考虑了,读懂基本逻辑即可。

导出useState函数:const {useState} = React

定义状态的语法:let state,修改函数 = useState(初始值)

使用:{state};

修改:修改函数(修改后结果)

useEffect

第一种情况:只有一个回调函数参数相当于didMount+didUpdate,并且可以有返回值的;

return 返回是一个钩子函数相当于 willUnmount卸载钩子;

第二种请求 参数1是箭头回调函数,参数2是空数组,相当于didMount 但是只初始化执行一次;

第三种情况 参数1是箭头回调函数 参数2是数组的元素是状态,在初始化走一次,监听第二个参数中的发生变化时候走一次;

以上两个结合使用,监听状态改变,保持最后结果,发生改变的时候,可以做一些什么动作。

favicon

  • 这个玩意又捣鼓了半天,就在 modules/FaviconLoader.sys.mjs 调用,默认路径下就有一个 public下面有个favicon.ico ,vscode里面搜索不到,因为他是文件名,这些小玩意,繁琐,难搞。

结合例子,还是能清楚它的意图,但是对于原理,需要重新从react开始,以此备忘吧。

相关推荐
泡海椒8 分钟前
PDF 表格样式优化:jquick-pdf 边框、圆角、背景色
java·开发语言·pdf
半个落月13 分钟前
LangChain.js Agent Memory 实战(下):用 Milvus 构建可检索的长期记忆
javascript·langchain
半个落月13 分钟前
LangChain.js Agent Memory 实战(上):从内存对话、文件持久化到截断与摘要
javascript·langchain
Beyond_System|系统之外1 小时前
【学编程】Python基础编程题100道(21-60)
开发语言·python·算法
景熙55231 小时前
15.Java 8 Stream 流入门到实战
java·开发语言·数据结构
linux_cfan3 小时前
17 · 引擎适配器全景:HLS/DASH/Vimeo/Mux/Cast
前端·javascript·音视频
Bruce_Liuxiaowei4 小时前
Python 实例赋值遮蔽类属性:一个从不报错的静默陷阱
开发语言·python·语法糖
何何____5 小时前
Vue 生命周期详解
前端·javascript
aramae5 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
默_笙6 小时前
💫 闭包是个背包:拆解小米前端面试题里的三道"闭包陷阱"
前端·javascript·面试