Javascript 如何在react native render中以无限循环返回数组项视图?
假设list.length为5。我需要在无限循环中返回下面的视图。不是在5的循环中。我想一个接一个地检查数组。当它到达索引4时,它应该再次指向0索引。此过程应递归执行。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(
在这里,它将在到达数组的最后一个索引后停止。 当“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以推送到那里。你能检查我的例子并用数组的返回视图编辑你的答案吗。这将是一个很大的帮助。在循环中返回数组不是我想要的。