属性"level"在类型"never[]".ts(2339)上不存在,但它确实记录了



我不确定为什么这会给我一个错误。我知道我应该做一些事情,但我不知道该告诉它什么,不要给我错误。如果我运行它,它会给我一个错误,但它实际上仍然有效,所以值会记录在控制台中。

const Tab1: React.FC = () => {
const [lockdownData, setLockdownData] = useState();

useEffect(() => {
let finalLockdownData: any;
var getLockdownData = async () => {
await firestoreDB.collection("LockdownStatus").doc("lockdownData").get().then((doc) => {
finalLockdownData = doc.data();
});
setLockdownData(finalLockdownData);
};
getLockdownData();
}, []);

console.log('Position 1')
console.log(lockdownData?.level) //ERROR: Property 'level' does not exist on type 'never[]'.ts(2339)
console.log('Position 2')
return (

只需像这样编写

const [lockdownData, setLockdownData] = useState<any[]>([])

编辑1

if (lockdownData === null) {
console.log('data is nullable');
} else {
console.log(lockdownData!.level);
}

编辑2

const [lockdownData, setLockdownData] = useState<Record<string, never>>({});

Codesandbox:https://codesandbox.io/s/dreamy-water-v0vwb?file=/src/App.tsx:108-184

最新更新