Javascript 如何在react native render中以无限循环返回数组项视图?

Javascript 如何在react native render中以无限循环返回数组项视图?,javascript,arrays,reactjs,react-native,arraylist,Javascript,Arrays,Reactjs,React Native,Arraylist,假设list.length为5。我需要在无限循环中返回下面的视图。不是在5的循环中。我想一个接一个地检查数组。当它到达索引4时,它应该再次指向0索引。此过程应递归执行。 在这里,它将在到达数组的最后一个索引后停止。 当“i”到达数组的最后一个索引时,我试图设置“i=0”,但无法访问。 有没有办法用javascript实现这个场景 注意:我将把render方法的一些代码片段粘贴到我的react原生jsx文件中。 欢迎提出任何意见 return this.state.list .map(

假设list.length为5。我需要在无限循环中返回下面的视图。不是在5的循环中。我想一个接一个地检查数组。当它到达索引4时,它应该再次指向0索引。此过程应递归执行。
在这里,它将在到达数组的最后一个索引后停止。 当“i”到达数组的最后一个索引时,我试图设置“i=0”,但无法访问。 有没有办法用javascript实现这个场景

注意:我将把render方法的一些代码片段粘贴到我的react原生jsx文件中。 欢迎提出任何意见

return this.state.list
      .map((item, i) => {
        if (i === this.state.currentIndex) {
          return (
            <Animated.View
              {...this.panResponder.panHandlers}
              key={item.id}
              style={[
                this.rotateAndTranslate,
                { height: SCREEN_HEIGHT - 120, width: SCREEN_WIDTH, padding: 10, position: "absolute" }
              ]}
            >
              <Animated.View
                style={{
                  opacity: this.likeOpacity,
                  transform: [{ rotate: "-30deg" }],
                  position: "absolute",
                  top: 50,
                  left: 40,
                  zIndex: 1000
                }}
              >
              ....................more codes....................... 
              </Animated.View>

              <Image style={{ flex: 1, resizeMode: "contain", borderRadius: 20 }} source={{ uri: item.image }} />
            </Animated.View>
          );
        }else{
           return something;
        }

    }).reverse();
返回this.state.list
.map((项目,i)=>{
if(i==this.state.currentIndex){
返回(
更多代码。。。。。。。。。。。。。。。。。。。。。。。
);
}否则{
归还某物;
}
}).reverse();

像这样修改
i
不会对下一次迭代产生任何影响,因为它是传递给的函数中的一个参数。如果您想像那样操纵
i
,那么应该使用在循环主体范围之外定义了
i
的循环

差不多

let i = 0;
while (i < this.state.list.length) {
  if (something) {
    i++;
  } else {
    i = 0;
  }
}
设i=0;
while(i

要准确地理解您要实现的目标有点困难,但希望这有助于消除一些混淆。

这样修改
i
不会对下一次迭代产生任何影响,因为它是传递给的函数中的一个参数。如果您想像那样操纵
i
,那么应该使用在循环主体范围之外定义了
i
的循环

差不多

let i = 0;
while (i < this.state.list.length) {
  if (something) {
    i++;
  } else {
    i = 0;
  }
}
设i=0;
while(i

要准确地理解您想要实现的目标有点困难,但希望这有助于消除一些困惑。

我认为您需要一个功能组件,在单击5次后重新加载

//获取一个钩子函数
const{useState,useffect}=React;
常量示例=({title})=>{
const[count,setCount]=useState(0);
const[compCount,setCompCount]=useState(0);
返回(
{}
{
设置计数(计数+1);
如果(计数%5==0&&count!=0){
setCompCount(compCount+5)
}
}}>
点击我
);
};
const GetComp=props=>{
返回[1,2,3,4,5].map(e=>{e+props.value})
}
//渲染它
ReactDOM.render(
,
document.getElementById(“react”)
);

我认为您需要一个功能组件,在单击5次后重新加载

//获取一个钩子函数
const{useState,useffect}=React;
常量示例=({title})=>{
const[count,setCount]=useState(0);
const[compCount,setCompCount]=useState(0);
返回(
{}
{
设置计数(计数+1);
如果(计数%5==0&&count!=0){
setCompCount(compCount+5)
}
}}>
点击我
);
};
const GetComp=props=>{
返回[1,2,3,4,5].map(e=>{e+props.value})
}
//渲染它
ReactDOM.render(
,
document.getElementById(“react”)
);


看起来您想要循环动画。看起来您想要循环动画。这个逻辑是正确的。但问题是用这个迭代返回我的数组。在map函数中,我可以将其返回为“returnmyarray.map();”。当使用while和for循环时,我可以做什么?可以将数组推送到循环外部定义的数组,然后返回arraynothing以推送到那里。你能检查我的例子并用数组的返回视图编辑你的答案吗。这将是一个很大的帮助。在循环中返回数组不是我想要的。这个逻辑是正确的。但问题是用这个迭代返回我的数组。在map函数中,我可以将其返回为“returnmyarray.map();”。当使用while和for循环时,我可以做什么?可以将数组推送到循环外部定义的数组,然后返回arraynothing以推送到那里。你能检查我的例子并用数组的返回视图编辑你的答案吗。这将是一个很大的帮助。在循环中返回数组不是我想要的。