Javascript 如何在React render中无限循环数组?

Javascript 如何在React render中无限循环数组?,javascript,html,reactjs,Javascript,Html,Reactjs,我用它在同一位置从一个数组中键入不同的单词,我想无限循环数组。这是一次我已经过了阵列,我想再次开始 我已经创建了一个组件,它以我希望的方式呈现键入功能,但是它只运行一次,而且由于我对JS比较陌生,所以我无法找到一种方法来在循环中重新渲染,而不会引发控制台错误。以下是我在主要组件渲染中使用的组件: const typeRender = Tags.map((tag) => { const arrLen = Tags.length - 1

我用它在同一位置从一个数组中键入不同的单词,我想无限循环数组。这是一次我已经过了阵列,我想再次开始

我已经创建了一个组件,它以我希望的方式呈现键入功能,但是它只运行一次,而且由于我对JS比较陌生,所以我无法找到一种方法来在循环中重新渲染,而不会引发控制台错误。以下是我在主要组件渲染中使用的组件:

    const typeRender = 
        Tags.map((tag) => {
            const arrLen = Tags.length - 1
            if (Tags.indexOf(tag) != arrLen) {
                return [ <h2 className='skillname' key={tag.id}>{tag.value}</h2>,
                         <Typist.Backspace count={tag.value.length} delay={500} />]
            }
            else {

                return [<h2 className='skillname' key={tag.id}>{tag.value}</h2>,
                <Typist.Backspace count={tag.value.length} delay={500} />]

            }
        })
const typeRender=
Tags.map((tag)=>{
常量arrLen=Tags.length-1
if(Tags.indexOf(tag)!=arrLen){
返回[{tag.value},
]
}
否则{
返回[{tag.value},
]
}
})
标记是我正在迭代的对象数组,在主组件render中,所有这些都封装在一个Typest组件中


关于如何实现这一点的任何建议,我都在使用挂钩,所以我认为useEffect可能是我可以在这里使用的东西。

通常,无限
useEffect
循环是一个bug。您正在寻找类似于
setTimeout
setInterval
的东西吗?为什么不让typeRender成为一个函数,并使用递归返回函数本身
typeRender=()=>{*此处的代码*}
然后在该函数中放入
返回typeRender
更重要的是,我想在主渲染中找到一种方法,在到达数组的最后一个元素后重置typeRender。如果我决定改变速度,你可以用打字员声明延迟,理论上可能会改变,所以像
setTimeout
这样的东西在这方面会有点限制吗?
setTimeout
可能正是你实际需要的,因为它在延迟后调用回调函数,如果您有一个递归回调函数,可以为您提供所需的功能(即,将
setTimeout
包装到另一个函数中,然后
setTimeout
的回调函数可以调用该函数/自身)@SC1988谢谢,我现在将查找一些实现该函数的方法,并了解我的进展。谢谢你的帮助!