学习 React 的好处
-
就业:全球 Web 开发首选框架、全栈工程师的首选
-
React:全球第一,既能构建 Web 应用,又能构建原生应用。
-
React vs Vue
2024年12月13日...大约 3 分钟
ref
,它会记住信息,ref 的变更也不会触发新的渲染。ref | state |
---|---|
useRef | useState |
修改时不触发渲染 | 修改时触发渲染 |
可变,可以在渲染过程之外修改 current 的值 | “不可变”,你必须使用 state setter 函数修改 state,从而排队重新渲染 |
不应在渲染期间读取、写入 current | 可以随时读取 state,但每次渲染都有自己不变的 state 快照 |
将 ref 视为脱围机制
:当使用外部系统或浏览器 API 时,如果应用程序逻辑和数据流很大一部分依赖于 ref,你可能需要重新考虑你的设计。不要在渲染过程中读取或写入 ref.current
:通常渲染过程中需要某些信息,应该使用 state,而不是 ref。function Profile() {
return (
<img src="https://i.imgur.com/MK3eW3As.jpg" alt="Katherine Johnson" />
);
}
.js
、.jsx
、.tsx
.jsx
是 JavaScript 的 JSX 语法。.tsx
是 TypeScript 的 JSX 语法。function DemoOnClick() {
const [info, setInfo] = useState("");
const handleClick = (e: React.MouseEvent) => {
const target = e.target as HTMLButtonElement;
setInfo(`点击了:${target.innerText}`);
}
return (
<div>
<MyButton name="Play Movie" onClick={handleClick} />
<MyButton name="Upload Image" onClick={handleClick} />
<br />
<p>{info}</p>
</div>
);
}
function MyButton({ name, onClick }: { name: string; onClick: (e: React.MouseEvent) => void; }) {
return <button onClick={onClick} style={btnStyle}>{name}</button>;
}
提示
本文是 React 哲学 的学习整理
在这一讲中,我们将着手实现第一个完整的 React 项目 —— 我的看板。通过这个项目,你将逐步了解如何从 UI 界面到业务逻辑,按步骤开发一个实用的任务管理工具。
首先,我们来看看最终的 UI 界面设计:
在开始开发之前,我们的思路是清晰的,整个项目将按照以下顺序进行:
在前端开发的世界里,React 是一个备受欢迎的框架,它不仅应用广泛,且上手快、扩展性强。如果你是一名刚开始接触 React 的开发者,本文将会是你启动 React 项目的最佳指南。通过这篇文章,你将学会如何从零搭建一个 React 项目,并成功运行它。
React 项目的基础是 Node.js,选择合适的 Node 版本是成功运行项目的关键。为此,我们推荐使用 fnm 作为 Node.js 版本管理工具,它操作简单、性能出色,特别适合多版本 Node.js 的切换和管理。