【发布时间】:2022-02-12 03:01:32
【问题描述】:
在我现有的 react 组件中,我需要在特定时间段内渲染另一个 react 组件。 一旦父组件挂载/或数据加载,新组件(或子组件)应该在 1-2 秒后可见,然后再过几秒钟,新组件应该被隐藏。只有在没有可用数据时才需要这样做。
这是我目前试图实现的目标:
import React, { useState, useEffect } from "react";
function App() {
const [showComponent, setShowComponent] = useState(false);
const sampleData = [];
useEffect(() => {
if (sampleData.length === 0) {
setTimeout(() => {
setShowComponent(true);
}, 1000);
}
}, [sampleData]);
useEffect(() => {
setTimeout(() => {
setShowComponent(false);
}, 4000);
}, []);
const componentTwo = () => {
return <h2>found error</h2>;
};
return <>First component mounted{showComponent && componentTwo()}</>;
}
export default App;
当前实现未按预期工作。新组件以闪烁方式呈现。
这是附加的工作 sn-p:
感谢任何帮助解决此问题!
【问题讨论】:
标签: javascript reactjs setinterval