空白字符陷阱
空白字符陷阱
让我们谈谈 JSX 中最常见的一个“陷阱”。
这是一个快速的示例:
请注意粗体文本和数字之间没有空格.不是 returns: 123
,它显示为: returns:123
。
要理解为什么会发生这种情况,我们来考虑一下这个 JSX 如何编译成 JavaScript:
我们的 <div> 有两个子元素,即 <strong> 标签和 daysUntilSantaReturns 变量。
记住,JSX 不会编译为 HTML,它会编译为 JavaScript。当执行该 JavaScript 时,它只会创建并附加两个 HTML 节点:
- 一个 <strong> 标签带有一些文本。
- 一个文本节点,用于数字 123 。
那我们该如何修复呢?最常见的解决方案是在花括号中添加一个单个空格字符:
这是它编译的方式:
我承认,当我第一次学到这个技巧时,我觉得它真的很 hacky。我希望 React 团队能修复这个 bug,并使其像 HTML 一样处理空白。
我已意识到,这种行为实际上更像是一种特性,而不是一个错误。
让我们谈谈这个。
这是视频中的 3 张图片游乐场:
让 Prettier 格式化
在过去的几年里,一种名为 Prettier 的格式化工具在 JavaScript 社区引起了轰动。
Prettier 是一个会自动格式化我们代码的工具。它具有一定的观点,并遵循大多数 JavaScript 开发者使用的约定。
好消息是:Prettier 知道这个空格问题,并会在必要时自动为我们添加 空格字符。
在这个课程平台上,我已经将 Prettier 集成到代码 Playground 中。您可以通过点击🖊图标来触发它,或通过使用“保存”键盘快捷方式。
在本课程的后面部分,我们将学习如何在自己的项目中使用 Prettier。