【发布时间】:2022-07-21 09:33:29
【问题描述】:
我有以下代码行。没有 setTimeout,一切正常。当我启用时,setTimeout,没有输出。
我做错了什么?
const PrintBox = ({posts,maximise,data}) => {
if ((posts)&& posts.postType === "printplease"
{
setTimeout(function(){
return <div>
<h1>PrintPlease <h1>
</div>
},6000);
}
现实世界的代码与此非常相似。每个帖子的时间取决于当前帖子(每个帖子都会更改..)
const PrintBox = ({posts, maximise}) => {
if ((posts)&& posts.postType === "printplease"
{
setTimeout(function(){
<div >
{(maximise === false)?
(<div className="outerbox">
<div>
<div
className="container"
>
<Printbox
data ={data}
maximise ={maximise}
/>
</div>
</div>
</div>
):(<div className="outerbox outexpand"><div className= "container container-extend"
>
<Printbox
data ={data}
maximise ={maximise}
/>
</div></div>)}
</div>
</div>
},post.timing);
}
``
【问题讨论】:
-
请显示更多您的代码?这是功能性或类组件
-
你能复制更多的代码吗?这样做可能有更好的解决方案。
-
@TusharShahi ...它的功能组件
-
您的 HTML 需要基于变量的条件,您设置的超时将通过 useEffect 挂钩更改该变量的值
-
@ArseneWenger 检查新解决方案
标签: reactjs