惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hacker News - Newest:
Hacker News - Newest: "LLM"
S
SegmentFault 最新的问题
The Cloudflare Blog
T
The Exploit Database - CXSecurity.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy & Cybersecurity Law Blog
有赞技术团队
有赞技术团队
www.infosecurity-magazine.com
www.infosecurity-magazine.com
雷峰网
雷峰网
Google DeepMind News
Google DeepMind News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Threatpost
The Hacker News
The Hacker News
人人都是产品经理
人人都是产品经理
阮一峰的网络日志
阮一峰的网络日志
大猫的无限游戏
大猫的无限游戏
L
Lohrmann on Cybersecurity
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
T
Threat Research - Cisco Blogs
博客园 - 叶小钗
量子位
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Simon Willison's Weblog
Simon Willison's Weblog
I
Intezer
S
Secure Thoughts
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Help Net Security
Help Net Security
爱范儿
爱范儿
C
Cybersecurity and Infrastructure Security Agency CISA
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
C
Check Point Blog
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
T
Tor Project blog
NISL@THU
NISL@THU
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
InfoQ
The Register - Security
The Register - Security
Recent Announcements
Recent Announcements
N
News and Events Feed by Topic
B
Blog RSS Feed

串串狗小刊 ⭐️

年轻人怎么抓住 AI 发展的风口? - 串串狗小刊 为什么 GO 语言地位很尴尬? - 串串狗小刊 Web 出海必备的外链列表 - 串串狗小刊 - 聊AI、互联网、前端技术 ~ 我的 Web 3D 世界梦 - 串串狗小刊 OPC Web 出海之图视频的 AI 供应商渠道和简单外链 - 串串狗小刊 简单聊聊我的 Nodejs 世界观 - 串串狗小刊 Web 出海快速判断关键词法和推荐 3 个 SKILL - 串串狗小刊 Web 出海之演示建站盈利和朋友 Reyn 的教训 阅读源代码前要运行的 5 条 Git 命令 - 串串狗小刊 介绍几组我一直在使用的 Codex 插件 我观看哥飞年终会议复盘的 Web 出海笔记(下) - 串串狗小刊 观看哥飞年终会议复盘的 8 个 Web 出海笔记 - 串串狗小刊 Codex 敞开用的技巧和谷歌趋势的参考词 - 串串狗小刊 - 聊AI、互联网、前端技术 ~ Web 出海之外链提交频率和如何不花 Token 处理代码 - 串串狗小刊 程序员现在的最佳副业 ~ Web 出海 - 串串狗小刊 如何设计良好的 API - 串串狗小刊 - 聊AI、互联网、前端技术 ~ 你跟 AI 对话后会发生什么? - 串串狗小刊 出海 Web 之 GSC 里的曝光量和点击量和外链的关系 - 串串狗小刊 出海 Web 不要 恋战 新词游戏站 - 串串狗小刊 无港卡开通 Stripe 收款和 Nofollow 转 Dofollow 技巧 - 串串狗小刊 DeepSeek 发布氮气加速器 DSpark!可惜好东西又开源了 - 串串狗小刊 简单聊聊出海 Web 的游戏站 - 串串狗小刊 停止使用 JWT ! - 串串狗小刊 出海 SEO 之 Vercel App 找词法与 agentic-inbox 管理邮箱 - 串串狗小刊 出海 Web 之 Vercel 的必踩坑和 140 分钟需求调研 - 串串狗小刊 出海 Web 之根据调研结果,挑选需求 - 串串狗小刊 AI 时代前端写 UI 必备的 49 种 UI 风格! - 串串狗小刊 超惊艳的 3D 开放世界浏览器游戏 LAAS ,全程 Claude Fable 5 无干预开发 - 串串狗小刊 月入 4w 刀的小耳朵 sir 的出海经验 - 串串狗小刊 出海建站之 Product Hunt 的封号限制解封 - 串串狗小刊 出海 SEO 新手们,给你们分享个新词发现工具! - 串串狗小刊 Node-js 新手需要知道什么? - 串串狗小刊 - 聊AI、互联网、前端技术 ~ 用 AI 挑选 skill 头疼?聊聊四大 skill 仓库 - 串串狗小刊 让老外感受到了中国 SEO 的威力,amazing! - 串串狗小刊 驾驭工程后,AI 圈又一个新概念 Loop 工程(循环工程) - 串串狗小刊 Deepseek V4 Pro 极高的缓存命中率很重要! - 串串狗小刊 SEO 出海之田七使用 google trends 的经验 - 串串狗小刊 今年最燃Web出海奇迹,小白从0建站一个月入万刀全程详细复盘! - 串串狗小刊 - 聊AI、互联网、前端技术 ~ 两个朋友做跨境独立站编程出海的经历、找词技巧 - 串串狗小刊 - 聊AI、互联网、前端技术 ~ SEO 之用 coolify 部署 nextjs 和 面包屑 使用误区 - 串串狗小刊 注意,JS 里的 JSON.parse() 也有安全隐患! - 串串狗小刊 拆解 aidocmaker 这个 SEO 神站,聊聊 Lovart 的交互设计 - 串串狗小刊 三个最近做 SaaS 的 JS 小技巧 - 串串狗小刊 关键词评估和 reddit、HN、product hurt 起号运营小妙招! - 串串狗小刊 WASM、Rust,前端的第二条命! - 串串狗小刊 - 聊AI、互联网、前端技术 ~ SEO 之 UGC 不做落地页和 ADS 无效流量解决方法 - 串串狗小刊 SEO 之 HARO 四两拨千斤大法 - 串串狗小刊 SEO 里的 schema 和 积沙成塔 - 串串狗小刊 AI 生成的代码太啰嗦 今日 SEO 小经验分享 - 串串狗小刊 时代在轮回,2026 年做网站又开始流行起来 - 串串狗小刊 - 聊AI、互联网、前端技术 ~ 讲一下谷歌 SEO 常用的 8 个工具 - 串串狗小刊 五个谷歌 SEO 外链建设小妙招 - 串串狗小刊 分享几个 独立站 SEO 外链 建设的小经验 - 串串狗小刊 讲几个 出海独立开发 获取流量的经验 - 串串狗小刊 一个故事,把大厂互联网架构 70+ 概念串完 - 串串狗小刊 2026 年最新的 人工智能 学习路线(为期三个月) - 串串狗小刊 为什么现在的密码喜欢使用 2FA(TOTP、passkey )? - 串串狗小刊 openAI 团队告诉你,怎么把 Codex 用到极致! - 串串狗小刊 fetch 和 axios ,两者选谁? - 串串狗小刊 五年了,Zed 终于发布 1.0 版本了,简单聊聊 - 串串狗小刊 由 27 个荒废的项目,总结的 5 个失败的真相 - 串串狗小刊 今天再聊聊 Codex 的使用 - 串串狗小刊 分享几个短小精悍实用的 js 代码 - 串串狗小刊 54 天,26.9 万次连接:互联网到底有多吵? - 串串狗小刊 AI 时代前端开发最实用的 5 种设计模式 - 串串狗小刊 说 3 个前端新手可能不知道的技巧 - 串串狗小刊 Vite 这个前端打包工具是怎么工作的呢? - 串串狗小刊 - 聊AI、互联网、前端技术 ~ Vibe coding 一词发明人说 Agentic Engineering ,守住软件质量才是未来 - 串串狗小刊 如何利用 AI 理解新项目、接手新项目? - 串串狗小刊 2025 年主流的前端技术全集合 - 串串狗小刊 - 聊AI、互联网、前端技术 ~ 德鲁・布伦尼格提出是 10 个 AI 编程时代的实践经验 - 串串狗小刊 今天简单聊聊 tailwindCSS - 串串狗小刊 - 聊AI、互联网、前端技术 ~ 今天再聊聊 AI GEO,以及改善其效果的办法 - 串串狗小刊 Claude Code 向 Codex 的习惯迁移 - 串串狗小刊 几个提高 AI 提示词撰写能力的技巧 - 串串狗小刊 前端优化:核心 SEO 网页指标优化 LCP、INP 的思路 - 串串狗小刊 一个很冷门的 JS 知识点:逗号操作符 - 串串狗小刊 在 JS 中为什么要少用 class ? - 串串狗小刊 前端和后端是怎么连接的?API、RESTful、JSON、CORS都是什么? - 串串狗小刊 - 聊AI、互联网、前端技术 ~ 八个软件工程师需要了解的定理法则 - 串串狗小刊 - 聊AI、互联网、前端技术 ~ 思想实验:如果 AI 出现在 2010 年会发生什么? - 串串狗小刊 求求你别再 .filter().map().sort() 了 - 串串狗小刊 一文讲清 16 个 React 常用钩子的机制和使用场景 - 串串狗小刊 三大反向代理 Nginx、Traefik、Caddy 的区别是什么? - 串串狗小刊 为什么我觉得 adhd 病是一种智商税 ? 为什么有些人天生就不快乐 ? - 串串狗小刊 讲 3 个我这几天刚刚遇到的 CSS 里的小技巧 - 串串狗小刊 SQL数据库中什么情况该加索引?以及常见的陷阱。 - 串串狗小刊 - 聊AI、互联网、前端技术 ~ 2026 年前端死透了吗?还能入行吗? - 串串狗小刊 - 聊AI、互联网、前端技术 ~ 你其实永远也用不到数据库! - 串串狗小刊 - 聊AI、互联网、前端技术 ~ 八个和 Claude Code 编码时的小技巧 - 串串狗小刊 10 分钟快速入手 React 概念,然后开始干活儿 - 串串狗小刊
其实 React 有点难用 - 串串狗小刊
独元殇 · 2026-05-08 · via 串串狗小刊 ⭐️

论开发体验,Vue 是肯定大于 react 的,毕竟简单,上手快,但是之所以选择 react ,还是因为生态,尤其是 nextjs 的生态。没办法。

react 的坑很多啊!

先是那个很让人头疼的 HTML ?? 其实是 JSX 。不是 HTML ,跟 HTML 没有多大关系。

初学者会发现里面混入了一个奇怪的东西:

<></>

这是什么?这是一个 容器!防止 < div > 不断进行堆叠成一大坨的!因为 JSX 只能有一个根元素,外面得包裹 div,每个组件都得搞一个根节点,比如这里的 main:

return (
  <main>
    <h2>欢迎光临</h2>
    <span>这是我们的新网站!</span>
  </main>
);

// 但是容易把布局搞乱,因此就引入了一个概念叫 React.Fragment

return (
  <React.Fragment>
    <h2>欢迎光临</h2>
    <span>这是我们的新网站!</span>
  </React.Fragment>
);

// 使用语法糖 <></> ,和上面这个等同

return (
  <>
    <h2>欢迎光临</h2>
    <span>这是我们的新网站!</span>
  </>
);

这样就好多了。

妥协了,但是奇奇怪怪。不过也避免了各种 HTML 混乱,甚至布局混乱。当初,这一点让我觉得 react 真的有点设计的不给力,不好用。

另外还有 setState 、 setCount 这些概念,里面也有陷阱:

这个 setCount 是更新状态的吧,但是调用时,其实是不会立即改值的,它竟然是异步的!

react 呢美其名曰,这是优化性能:

import { useState } from "react";

export default function Test() {
  const [num, setNum] = useState(10);

  function change() {
    console.log("点击时,当前值是:", num); // 10

    setNum(20); // 改成 20!

    console.log("刚改完立刻打印:", num); // 其实还是 10!!!
  }

  return (
    <button onClick={change}>点我测试异步</button>
  );
}

然后,因为它是异步的,就又引申一个 陷阱!!!!

如果你一次性让它加 三次值 ,你会发现就加了一次!

import { useState } from "react";

export default function Test() {
  const [num, setNum] = useState(0);

  const add = () => {  // 让它加三次(实际上运行结果是只加了一次)
    setNum(num + 1);
    setNum(num + 1);
    setNum(num + 1);
  };

  return (
    <div>
      <h1>{num}</h1>
      <button onClick={add}>点我+3</button>
    </div>
  );
}

这是个抽象版本,。,实际上当年没少被这个 bug 坑。比如多次修改某组件的属性,组件仅仅只会有1次更新???而不是每次修改,状态都更新。

因为 useState 是异步的,所以不能这样写,要这样写:

import { useState } from "react";

export default function Test() {
  const [num, setNum] = useState(0);

  const add = () => {
    setNum(prev => prev + 1);  // 变化,就是 
    setNum(prev => prev + 1);  // num + 1 变成了 prev => prev + 1
    setNum(prev => prev + 1);  // 这样才行!
  };

  return (
    <div>
      <h1>{num}</h1>
      <button onClick={add}>点我+3</button>
    </div>
  );
}

这样才能拿到最新的值,再给下走。

太难用了。