回答了问题2024-11-06
div的边框是由4个独立的边框组成,假如我们把div的宽高设置为0,只有边框,那边框大概长这样:因此,想要实现什么三角,就让哪个边框有颜色、其他边框颜色透明即可。比如箭头向左的三角,可以是: {代码...} 以你题目中的直角三角形,可以使用下边框和右边框组合。如...
回答了问题2024-09-12
目前看,在客户端想要使用缓存,或者合并重复请求,只能使用封装好的类库,比如swr。同时,从next.js15开始,服务端的fetch,默认不再带有缓存,需要手动配置才有缓存!
发布了文章2024-09-12
我的博客的评论功能的实现,在之前的几篇文章中也有总结:如何实现一个楼中楼的评论系统;博客里评论系统的前端总结;我在设计数据表时,是把所有的评论和回复都放在了同一张表中,之所以这么设计,主要是考虑到:博客的数据量比较小,一张表就够了;查询某文章下的...
发布了文章2024-09-11
我之前的博客,是在 2017 年时基于 php 的 CodeIgniter 框架实现的。现在我使用了 Next.js14 重构了我的个人博客。
回答了问题2024-06-06
若b相对于a在第1和第2象限,则弧度在[0, PI]之间;若在第3和第4象限,则弧度在[0, -PI]之间。如果只想获取b相对于a的逆时针旋转的弧度,则需要在弧度为负数时,用2PI减去这个弧度。
回答了问题2024-05-14
这是因为不确定接口返回的data一定是个数组结构,万一在没数据时返回了一个null或者undefined,前端就直接报错了。这是做了下兼容处理。
回答了问题2024-04-18
nextjs 里的组件会在服务端和前端都执行一次。若是纯前端的代码,可以放到 useEffect() 中。
回答了问题2024-02-26
还有一种方式,我之前也用过。因为是自己发布的npm包,发现打包后的包不满足要求,又懒得多次打包,就直接在项目的 node_modules 里先调试,调试完了再修改源代码。
回答了问题2024-01-29
在顶级组件 A 组件中用 const [value, setValue] = useState("")来存储textarea中的值,然后将value和 setValue传递到D组件中,同时将value给到C组件,这样C组件就能获取到textarea中的值了。
回答了问题2024-01-29
如果想监听变化的,还是用useState()吧
回答了问题2024-01-08
我更推荐第二种封装方式,这样创建出来的实例,能保留axios原版的配置和方法。若是用class封装,还得自己再写一套方法,然后再调用axios里的方法。
回答了问题2023-10-30
parameter是个函数,你需要执行一下。 {代码...}
赞了回答2023-10-27
{代码...}
回答了问题2023-10-12
这个日期字符串很规范,月日不足两位的还有前置0,直接字符串比较就行了。 {代码...}
回答了问题2023-10-07
来个简洁的。定义一下映射关系;去除空格; {代码...}
回答了问题2023-09-27
用cookie呀。把cookie存储到这两个项目的公共域名下就可以了。比如老项目叫 www.abc.com,新项目叫 new.abc.com,那cookie 的 domain 就是 .abc.com
回答了问题2023-06-12
因为 getData() 是异步操作,在接口的数据返回之前,singData.name 是没有值的。若你不想显示 undefined,可以给 name 一个默认值,比如空字符串。 {代码...} 或者判断一下 singData.name 的值,若不存在,则直接return。 {代码...}
回答了问题2023-06-06
若直接在长度上减一,是为了删除最后的那个元素。如 {代码...} 若是在使用时长度减一,是为了获取到数组的最后那个元素,如: {代码...}
回答了问题2023-05-18
(end-start)/2的差值肯定在int范围内,即使end是int的最大值,start是0(作为下标,最小只能是0),但除以2后向下取整,肯定也在int范围内;
回答了问题2023-05-06
正则匹配,然后下标向后移动即可: {代码...} 使用: {代码...}