Avatar ·

React错误:在TypeScript中无法对已卸载的组件执行React状态更新

你好!我正在使用TypeScript和Lodash编写一个React应用。我有一个组件,在挂载时从服务器加载数据并显示它们。一切正常,但控制台中不断出现警告:'Can't perform a React state update on an unmounted component'。当用户快速切换页面时会发生这种情况。 以下是我组件的简化代码: ```typescript import React, { useState, useEffect } from 'react'; import { debounce } from 'lodash'; interface UserData { id: number; name: string; } const UserProfile: React.FC<{ userId: number }> = ({ userId }) => { const [user, setUser] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { const fetchUser = async () => { setLoading(true); try { const response = await fetch(`/api/users/${userId}`); const data: UserData = await response.json(); setUser(data);