作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 TypeScript 的新手,在这个简单的例子中,我创建了一个组件来从假 API 中获取数据并在 map
中显示它们。迭代:
import React, { FC, useState } from 'react';
const GetData = (): Promise<[]> => {
return fetch('https://randomuser.me/api/?results=5')
.then((response: any) => response.json())
.then((data: any) => data.results);
}
const App: FC<{}> = () => {
const [users, setUsers] = useState<[]>([]);
const getUsers = (): void => {
GetData().then((data: []) => setUsers(data));
}
return (
<div>
{
<ul>
{
users.map((item: any, index: number) => (
<li key={`user-${index}`}>{`${item.name.first} {item.name.last}`}</li>
))
}
</ul>
}
<button onClick={getUsers}>Load</button>
</div>
)
}
export default App;
:any
函数输入的类型(例如在 promise 链中)所以,这个例子是否正确?当我在输出中有嵌套数组时,我能在参数中使用许多任何类型吗?
:
添加类型为
GetData
,但那是
const
我应该像这样声明它们:
const age: number = 40;
但我没有收到任何错误?
最佳答案
当您使用时 Promise
通用定义一个,你不应该将回调函数的类型添加到链中。例如像这样写你的链:
const GetData = (): Promise<User[]> => {
return fetch('https://randomuser.me/api/?results=5')
.then((response) => response.json())
.then((data) => data.results);
}
第二个问题是关于
const age: number = 40;
当您定义
const
时并为其分配函数,意味着您正在创建一个函数,而 TypeScript 认为它将是一个函数而不是原始值,因此,您不应该为
const
添加类型在那个名字之后。
const age: number = 40;
上面的代码意味着,您正在定义一个原始值,并且应该在名称之后设置类型。
关于javascript - 我对 React 和 TypeScript 中的这个简单组件感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66195327/
我正在尝试学习Rust。我正在阅读一本书online,该书实现了unix程序cat。现在,我试图读取作为像cargo run file1.txt file2.txt这样的参数传递的文件的内容,但是程序
我在 GHC 8.0.1 中遇到了一个带有种类索引 (?) GADT 的奇怪情况,其中在类型与种类签名中引入 foralls 会产生不同的类型检查行为。 考虑以下数据类型: {-# LANGUAGE
我正在使用 Perl 5.10 开发应用程序,HTML::Mason和 Apache 2.2。这是我第一次在大型项目中使用 Perl 5.10。我每隔一段时间就会出现奇怪的行为。应用程序因一个非常奇怪
我正在尝试将文件上传到aws中的rust中,因为我使用的是 rusoto_s3 的s3 rust客户端,当这些部分从单个线程发送时,我设法使分段上传代码正常工作不是我想要的,我想上传大文件,并且希望能
我是一名优秀的程序员,十分优秀!