我刚刚意识到,我可以像子元素一样传递空串的react .

function App() {
  return (
    <Comp> {} {} </Comp>
  );
}

这是从React Developer Tools直接复制粘贴的结果.

{
  "children": [
    " ",
    " ",
    " "
  ]
}

我找到了一个描述这个的Github issue.该问题已结束,因为这是一种预期行为.

我的问题是,这类事情的用例是什么?为什么这是一种故意的行为?

推荐答案

空格是文本.文本是一个 node .这真的是所有的事情.

并且该代码有三个单独的空格 node :

<Comp> {} {} </Comp>
      ^--^--^--- here

有多少空格没有区别,或者有什么其他文本也没有区别.在这种情况下,重要的是有三个不同的文本元素(由花括号分隔,它们碰巧是空的,但仍然存在,为解析器描绘文本).

Javascript相关问答推荐

Spring boot JSON解析错误:意外字符错误

为什么Mutations 观察器用微任务队列而不是macrotask队列处理?

如何发送从REST Api收到的PNG数据响应

在css中放置所需 colored颜色 以填充图像的透明区域

Puppeteer上每页的useProxy返回的不是函数/构造函数

在SHINY R中的嵌套模块中,不能使用Java代码

如何为仅有数据可用的点显示X轴标签?

如何使用抽屉屏幕及其子屏幕/组件的上下文?

Jexl to LowerCase()和Replace()

如何在Jest中模拟函数

在将元素追加到DOM之前,createElement()是否会触发回流?混淆abt DocumentFragment行为

如何处理不带参数的redux thunk payloadCreator回调函数?

将以前缓存的 Select 器与querySelector()一起使用

如何用react组件替换dom元素?

无法向甜甜圈图表上的ChartJSImage添加可见标签

我如何才能让p5.js在不使用实例模式的情况下工作?

如何将值从后端传递到前端

如何从Reaction-Redux中来自API调用的数据中筛选值

带元素数组的Mongo聚合

我在JS代码中收到超过最大调用堆栈大小的错误,但我找不到原因.有谁能帮我搬一下吗?