问题描述
我不确定为什么这会给我一个错误我知道我想做一些事情,但我不知道如何告诉它不要给我一个错误。如果我运行它,它会给我一个错误,但它实际上仍然有效,因此该值确实会记录在控制台中。
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>>({});
代码沙盒:https://codesandbox.io/s/dreamy-water-v0vwb?file=/src/App.tsx:108-184