【发布时间】:2020-01-25 10:46:08
【问题描述】:
有一个createFields这样的函数
map 来自 lodash
const createFields = (usecase: SchemaObject): FieldInterface[] => {
// TODO: Make the form blueprint to be generated from json schema
const properties = usecase.properties;
const requiredProperties = usecase.required || [];
if (properties && isSchemaObject(properties)) {
return map(
properties,
(value: SchemaObject, key: string): FieldInterface => {
return {
type: value.type,
name: key,
label: key,
readonly: false,
required: requiredProperties.includes(key),
validations: [],
};
},
);
}
return [];
};
如图所示,typescript 在map 函数的返回值和迭代对象的返回值上报错。
但是返回值是一个对象,你可以在代码中看到。如果我将 iteratee 的返回类型更改为 boolean,它会反过来抱怨,就像这样。
这里有什么问题? boolean 是如何返回的?
【问题讨论】:
-
你 import { map } from 'lodash'; 对吧?
-
@PhatHuynh 是的,我做到了。
标签: typescript