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);