| 学习路线指引(点击解锁) | 知识定位 | 人群定位 |
|---|---|---|
| 🧡 Python实战微信订餐小程序 🧡 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
| 💛Python量化交易实战💛 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
正文从这开始~
当我们尝试从函数组件中返回元素组成的数组时,会产生"Type ‘() => JSX.Element[]’ is not assignable to type FunctionComponent"错误。为了解决该错误,可以将元素数组包裹在React片段中。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p8nSTl4d-1660669695281)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c087d1cc17d24648859d6a497b37c358~tplv-k3u1fbpfcp-watermark.image?)]
这里有个示例用来展示错误是如何发生的。
// App.tsx
import React from 'react';
// ⛔️ Type '() => JSX.Element[]' is not assignable to type 'FunctionComponent<{}>'.
// Type 'Element[]' is missing the following properties
// from type 'ReactElement': type, props, key ts(2322)
const App: React.FunctionComponent = () => {
return ['Alice', 'Bob'].map(element => {element}div>);
};
export default App;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
这是完全有效的React.js代码,因为我们能够从React的函数组件中返回一个数组。然而,FunctionComponent接口的返回类型是ReactElement或null。
这也就意味着,我们可以只返回一个React元素或者null值。
React片段
为了解决该类型错误,我们必须将数组包裹在React片段(React fragment)中。
// App.tsx
import React from 'react';
const App: React.FunctionComponent = () => {
return (
<>
{['Alice', 'Bob'].map(element => (
{element}div>
))}
);
};
export default App;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
当我们需要对一个元素列表进行分组而不向DOM添加额外的节点时,就会用到片段。
React.Fragment
你可能还会看到使用了更加详细的片段语法。
// App.tsx
import React from 'react';
const App: React.FunctionComponent = () => {
return (
{['Alice', 'Bob'].map(element => (
{element}div>
))}
React.Fragment>
);
};
export default App;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
上面的两个例子达到了相同的结果–它们对元素列表的元素进行分组,而没有给DOM添加额外的节点。
div
另一个解决方案是将元素数组包裹在另一个DOM元素中,例如一个div。
// App.tsx
import React from 'react';
const App: React.FunctionComponent = () => {
return (
{['Alice', 'Bob'].map(element => (
-
相关阅读:
word写论文遇到数字和文字中间空格删不掉
《Jetpack Compose从入门到实战》第九章 Accompanist 与第三方组件库
全链路压测效能10倍提升的压测工具实践笔记【开源】【原创】
javaweb JAVA JSP聊天室程序源码(局域网聊天系统 即时通讯)网页聊天系统
项目代码标准化
全栈项目【尚医通】预约挂号系统项目介绍
ReentrantLock通过Condition实现锁对象的监视器功能
Curve 文件存储的缓存策略
【LeetCode】一文吃透线段树(附例题)
Assembling a Query Engine From Spare Parts
-
原文地址:https://blog.csdn.net/m0_56069948/article/details/126377211
-
最新文章
-
沪漂五周年了:我越来越迷茫了
Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
MySQL-Seconds_behind_master的精度误差
[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
Agent OS :五种驯服不确定性的范式
PortSwigger SQL注入LAB11
数据库即时编译JIT
[Begin]AI Learn Data Day 0
深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU