我正在编写此代码(.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 || []} />
)}
打字稿为什么会这样?