在学习 React 之前,先掌握这个 JavaScript 习惯
当我第一次开始学习 React 时,大家一直在谈论 组件。
到处都是组件。
到处都是组件。
起初,我以为组件是 React 特有的东西。
但在用原生 JavaScript 花了更多时间后,我意识到了一点。
React 组件背后的思维模式早已存在于 JavaScript 中。
React 并没有发明可复用性——它只是给可复用性提供了一种更好的结构。
如果你计划在学习 JavaScript 之后再学习 React,有一个习惯值得现在就开始培养:
编写可复用的代码。
为什么可复用性很重要
想象一下,你正在构建一个仪表盘。
它有五个按钮。
每个按钮都有相同的样式和几乎相同的行为。
一种方法是把相同的代码复制粘贴五次。
这样可以……
直到你想改动什么。
现在你需要编辑五个不同的地方。
也许你决定更改按钮颜色。
或者更改内边距。
或者添加图标。
现在每个副本都需要更新。
这就是可复用代码发挥作用的地方。
编写一次。
到处使用。
除了节省时间,可复用代码还能让你的项目:
- 更容易维护
- 更容易调试
- 更容易扩展
- 更容易让其他开发者理解
JavaScript 早已支持这一点
当人们听到 组件 这个词时,他们立刻会想到 React。
但 JavaScript 多年来一直通过函数支持可复用逻辑。
例如:
function createButton(text) {
const button = document.createElement("button");
button.textContent = text;
button.className = "btn";
return button;
}
进入全屏模式 退出全屏模式
而不是反复编写以下代码:
const saveBtn = document.createElement("button");
saveBtn.textContent = "Save";
const deleteBtn = document.createElement("button");
deleteBtn.textContent = "Delete";
const cancelBtn = document.createElement("button");
cancelBtn.textContent = "Cancel";
进入全屏模式 退出全屏模式
你只需复用你的函数:
document.body.append(
createButton("Save"),
createButton("Delete"),
createButton("Cancel")
);
进入全屏模式 退出全屏模式
一个函数。
多个按钮。
相同的逻辑。
这是 React 建立在上面的思维模式
现在看看 React。
<Button text="Save" />
<Button text="Delete" />
<Button text="Cancel" />
进入全屏模式 退出全屏模式
语法不同。
原理相同。
React 组件只是可复用的 UI 片段。
React 组件不是直接返回 DOM 元素,而是返回 JSX。
然而,理念完全相同:
创建一次。
在需要时随时复用。
React 并非魔法
当我学习 React 时,让我放慢脚步的一件事是,我以为它引入了一种全新的编程方式。
事实并非如此。
React 依然是 JavaScript。
它只是鼓励你将 UI 组织成称为组件的可复用、独立的片段。
当我不再把组件看作某种神奇的东西时,React 就变得容易理解多了。
在学习 React 之前你应该练习什么
如果你目前正在学习原生 JavaScript,我认为在转向 React 之前值得培养一些习惯。
- 编写可复用的函数。
- 将大问题拆分为小问题。
- 避免复制粘贴代码。
- 将相关逻辑放在一起。
- 考虑可维护性,而不仅仅是让功能正常工作。
这些习惯可以直接迁移到 React 开发中。
结语
许多初学者因为 React 很流行而急于学习它。
这样做没有错。
但如果你先花时间掌握原生 JavaScript 中的可复用函数,React 就会变得更熟悉。
你会花更少的时间去思考 “组件是什么?”
而会花更多的时间去理解 为什么要有组件。
React 并没有发明可复用性。
它只是围绕 JavaScript 早已鼓励的思维模式构建了整个库。
你怎么看?
如果你已经学过 React,理解 JavaScript 函数是否让你更容易理解组件?
我很想听听你的想法。
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.