双指针 5 题
链表与数组相关算法总结 1. 删除链表中的元素1234567891011121314var removeElements = function (head, val) { let dummy = new ListNode(0, head); let cur = dummy; while (cur.next) { if (cur.next.val === val) { cur.next = cur.next.next; } else { cur = cur.next; } } return dummy.next;}; 2.反转链表1234567891011121314151617var reverseList = function (head) { if (!head) return null; let end = head; while (end.next) end = end.next; function reverse(node) ...
React--常用 hook
一些 React 使用中常见的 hookuseState最常见的 state hook 没什么好说的,每个学 react 的人第一个钩子 主要说明一下 React 18+ 批处理:将多个状态更新 (setState 调用) 合并为一个单一的更新批次,一起渲染。这样可以减少重新渲染的次数,从而提升性能 1234567891011121314151617function App() { const [count, setCount] = useState(0); const [name, setName] = useState(""); const update = () => { setCount(count + 1); setName("React"); }; return ( <div> <p>{count}</p> <p>{name}</p> &...
React--SPA与hook
SPA 原理和为什么是 hook单页面应用 (Single page App),核心思想是整个网站只有一个 HTML 页面,页面中的内容通过 JavaScript 动态更新 路由变化 (URL) 并不会触发浏览器的整页刷新,而是由前端路由控制页面内容切换 从点击 URL 到使用页面发生了什么?以下是一个为表示时间过程的粗略模型 浏览器发送 HTTP 请求 用户点击链接或者输入 URL 浏览器向服务器发送请求 此时发生两种情况 A. 首屏访问 浏览器发起请求到服务器 服务器返回一个通用的 index.html 这个 HTML 中包含一个空的根节点 <div id='root'></div> 以及打包好的 React 脚本文件 B. 前端路由跳转 这时 React Router 拦截了浏览器的点击事件 阻止了浏览器的默认跳转 只在前端更新 URL 页面不刷新, React 重新渲染对应的组件 接首屏访问 浏览器接收 index.html 并执行 解析 HTML 文件 请求并执行 main.js 文件 React 脚本启动创...
React 概念
不直接操纵 DOM => React 是声明式的 如何更新组件 view : In React, a view is updated by re-rendering the component. React calls the component function again简单理解: 渲染组件 => 创建一个新的组件替换原来的组件State is preserved throughout re-renders状态被重置,当组件完全从 UI 中消失,这个叫做取消挂载 卸载 unmounting当 state 更新的时候会触发 re-render 所以当想更新 view 直接更新 stateReact reacts to state changes by re-rendering the UI 1const [state, setState] = useState; React dev tools build react component tree… props,hooks,rendered by,可以任意调试状态 How react work behind the...



