React / Axios:无法读取未定义的属性(读取"0")



我可以看到数据"费用"很好,但如果我想看到一个单一的值,比如fees[0]?我得到这个错误:

Uncaught TypeError: Cannot read properties of undefined (reading '0')

我想?操作符应该避免这种情况,但似乎不是…

const [fees, setFees] = useState();
useEffect(() => {
const getFees = async () => {
const res = await axios.get('/api/feesettings', {
headers: { Authorization: token },
});
setFees(res.data);
};
getFees();
}, []);
console.log(fees);
console.log(fees[0]?.firstFee );

每次渲染都会出现错误的原因是因为,你没有向状态传递任何值,所以默认情况下费用是未定义的

const [fees, setFees] = useState();

,当你到达这行代码时,你试图访问fees[0],好像fees是一个数组,它不是,这就是为什么它给你一个错误不能读取未定义的属性(读取'0')

console.log(fees[0]?.firstFee);
所以改成这行代码,
const [fees, setFees] = useState([]);
if (fees.length > 1) {
console.log(fees[0]?.firstFee);
}