我了解到React组件名称应该以大写字母开头,以便它们可以区分自定义组件和内置HTML组件

为什么Framer motion component中的motion.div以RST开头.

尽管我确实知道它正在访问motion对象上的div属性,但我猜在JMX被编译/翻译为JS时,Inbox应该在判断该表达之前启动.

我猜我这里的理解有些差距,请帮忙.

推荐答案

这是一个有趣的问题.虽然DeliverJMX确实会被视为HTML元素,但当将JMX翻译为React.createElement时,它会分析并解析为AST树.

当它遇到标识符时,它将被转换为字符串,但将保持为成员表达的状态.

motion.div的情况下,它是一个成员表达,因此它不会被视为HTML元素并按预期工作.

参考文献(例如巴别塔):https://github.com/babel/babel/blob/a8994f8b7d421dd17b076c2557c9d5bd0e3faef1/packages/babel-plugin-transform-react-jsx/src/create-plugin.ts#L406-L411

Javascript相关问答推荐

React:如何将表格收件箱正确渲染为表格主体内的组件?

使用typeof运算符获取对象值类型-接收字符串而不是数组

JS生成具有给定数字和幻灯片计数的数组子集

通过在页面上滚动来移动滚动条

PrivateRoute不是路由组件错误

将现场录音发送到后端

我们如何从一个行动中分派行动

无法检测卡片重叠状态的问题

闭包是将值复制到内存的另一个位置吗?

如何在.NET Core中将chtml文件链接到Java脚本文件?

在FAQ Accodion应用程序中使用React useState时出现问题

触发异步函数后不能显示数据

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

MongoDB中的嵌套搜索

在SuperBase JS客户端中寻址JSON数据

是否可以在不更改组件标识的情况下换出Reaction组件定义(以维护状态/引用等)?如果是这样的话,是如何做到的呢?

在JavaScript中将Base64转换为JSON

FindByIdAndUpdate在嵌套对象中创建_id

当达到高度限制时,如何裁剪图像?使用html和css

在点击链接后重定向至url之前暂停