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开始,以此备忘吧。

相关推荐
LawrenceLan21 小时前
Flutter 零基础入门(十一):空安全(Null Safety)基础
开发语言·flutter·dart
txinyu的博客21 小时前
解析业务层的key冲突问题
开发语言·c++·分布式
码不停蹄Zzz21 小时前
C语言第1章
c语言·开发语言
行者961 天前
Flutter跨平台开发在OpenHarmony上的评分组件实现与优化
开发语言·flutter·harmonyos·鸿蒙
阿蒙Amon1 天前
C#每日面试题-Array和ArrayList的区别
java·开发语言·c#
SmartRadio1 天前
ESP32添加修改蓝牙名称和获取蓝牙连接状态的AT命令-完整UART BLE服务功能后的完整`main.c`代码
c语言·开发语言·c++·esp32·ble
且去填词1 天前
Go 语言的“反叛”——为什么少即是多?
开发语言·后端·面试·go
知乎的哥廷根数学学派1 天前
基于生成对抗U-Net混合架构的隧道衬砌缺陷地质雷达数据智能反演与成像方法(以模拟信号为例,Pytorch)
开发语言·人工智能·pytorch·python·深度学习·机器学习
yeziyfx1 天前
kotlin中 ?:的用法
android·开发语言·kotlin
charlie1145141911 天前
嵌入式的现代C++教程——constexpr与设计技巧
开发语言·c++·笔记·单片机·学习·算法·嵌入式