Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs “反应弹簧”;Can';t对未安装的组件执行React状态更新“;_Reactjs_State_Use Effect_React Spring_React Component Unmount - Fatal编程技术网

Reactjs “反应弹簧”;Can';t对未安装的组件执行React状态更新“;

Reactjs “反应弹簧”;Can';t对未安装的组件执行React状态更新“;,reactjs,state,use-effect,react-spring,react-component-unmount,Reactjs,State,Use Effect,React Spring,React Component Unmount,我在快速单击时遇到了使用react-spring的问题: 警告:无法对已卸载的组件执行React状态更新。 这是一个no-op,但它表示应用程序中存在内存泄漏。 若要修复,请取消useEffect中的所有订阅和异步任务 清理功能 下面是我发现的一个示例沙盒,它也有同样的问题。如果您快速单击“单击此处”,您将看到我面临的相同问题 Sandbox来自此博客: 假设我遗漏了一些愚蠢的东西,但我想知道这是否是react-spring的问题,因为它与useEffect有关。您使用的是三元,因此该组件已

我在快速单击时遇到了使用react-spring的问题:

警告:无法对已卸载的组件执行React状态更新。 这是一个no-op,但它表示应用程序中存在内存泄漏。 若要修复,请取消useEffect中的所有订阅和异步任务 清理功能

下面是我发现的一个示例沙盒,它也有同样的问题。如果您快速单击“单击此处”,您将看到我面临的相同问题

Sandbox来自此博客:


假设我遗漏了一些愚蠢的东西,但我想知道这是否是react-spring的问题,因为它与useEffect有关。

您使用的是三元,因此该组件已卸载

如果
greetingStatus
为true,则不渲染任何内容。还始终渲染动画div(因为您将不透明度切换为1或0)

代码片段

从“React”导入React;
从“react dom”导入react dom;
从“react spring”导入{useSpring,动画为};
导入“/styles.css”;
常量应用=()=>{
const[greetingStatus,displayGreeting]=React.useState(false);
const contentProps=useSpring({
不透明度:欢迎状态?1:0,
marginTop:欢迎状态?0:-500,
位置:“绝对”
});
返回(
displayGreeting(a=>!a)}className=“button”>
点击这里
{!欢迎状态?单击下面的按钮:null}
嘿!春天太棒了。
);
};
const rootElement=document.getElementById(“根”);
render(,rootElement);