我正在使用Typescript 4.0.5并无法使用
Object is possibly undefined
错误
我有一个本地状态,其中包含用户上传的.csv文件
const [currentLine, setCurrentLine] = useState<File>();
我的useEffect监视文件更改并解析csv
useEffect(
() => {
currentFile !== null && currentFile !== undefined && currentFile.type === 'text/csv'
? Papa.parse(currentFile, {
complete: (csv: File) => setParsedFile(csv)
})
: null;
},
[currentFile]
);
即使使用null和未定义的检查,我仍然会收到错误消息
Object is possibly 'undefined'.ts(2532)
我尝试将null / undefined检查包装在if语句中,并得到相同的错误,并且还尝试使用可选链与
currentFile?.type === 'text/csv'
后一个选项似乎将currentFile强制为never,并告诉我.type在never ...上不存在。
我在这里做错什么吗?我们有一个相当混乱的package.json,我想知道是否需要更新某些工具,因为在这里看不到任何错误原因。我在eslint 7.13.0上使用eslint-config-prettier 6.15进行配置。
答案 0 :(得分:1)
可能是
const [currentFile, setCurrentFile] = useState<File>();
useEffect(() => {
if (currentFile && currentFile.type === 'text/csv')
Papa.parse(currentFile, {
complete: (csv: File) => setParsedFile(csv)
});
},
[currentFile]
);