打字稿错误:定义时输入“ undefined”

时间:2020-03-23 15:53:50

标签: typescript react-tsx

我正在编写此代码(.tsx文件)

const dataFiltered = currentSearch.searchString
    ? elements?.filter((dataElement: DataElement) => dataElement.name.startsWith(currentSearch.searchString))
    : elements

const noElem = (!dataFiltered || dataFiltered.length === 0)

return(
    <>
        {noElem && 'No data match your search'}
        {!noElem && (
            <DataPreview elements={dataFiltered} />
        )}
    </>
)

我收到此错误

输入'readonly DataElement [] |空| “未定义”无法分配给“只读DataElement []”类型。 类型“未定义”不能分配给类型“只读DataElement []”。ts(2322)

但是如果我改变

!noElem

!(!dataFiltered || dataFiltered.length === 0)

没有错误。

所以我终于写了这个

{!noElem && (
            <DataPreview elements={dataElementsFiltered || []} />
        )}

打字稿为什么会这样?

0 个答案:

没有答案