reactjs - 输入“承诺”' 缺少类型中的以下属性
问题描述
我不太了解以下错误:
Type 'Promise<void>' is missing the following properties from type 'InventoryModel[]': length, pop, push, concat, and 28 more. TS2740
我有以下功能组件:
import React, { useEffect, useState } from "react";
import { Grid, TextField } from "@material-ui/core";
import InventoryService from "../services/Inventory";
import InventoryModel from "../Models/Inventory";
import { isThisTypeNode } from "typescript";
type InventoryState = {
inventoryItems: InventoryModel[];
};
const Inventory: React.FC = () => {
const [inventory, setInventory] = useState<Partial<InventoryState>>({});
useEffect(() => {
const inventoryService = new InventoryService();
const results = inventoryService.getByLocation().then((response) => {
setInventory({ ...inventory, inventoryItems: response });
});
}, []);
return <div></div>
在这种情况下,“inventoryItems”是红色突出显示的内容。
解决方案
原来我只需要添加| 对 InventoryState 无效。
type InventoryState = {
inventoryItems: InventoryModel[] | void;
};
推荐阅读
- c++ - 关于C++模板中自由函数名解析的问题
- hyperledger-fabric - 运行 hurl 调用返回事务建议是错误的
- python - 如何有条件地将层添加到 Keras 模型?
- r - 获取数据框的逐行百分比
- java - IDE 和命令行中 gwt-maven-plugin 的不同行为
- report - Allure 报告仅记录第一次失败并且测试结束并且在第一次失败后不运行所有步骤
- python - 与utcfromtimestamp相反的功能?
- openshift-origin - 无法启动示例构建
- python-3.x - 是否可以从交互式散景图生成计算图/数据?
- node.js - 可以使用 nodejs 和 puppeteer 获取 HTTP 响应标头吗?