假设list.length是5我需要在无限循环中返回下面的视图。不是在5的循环中。我想把数组一个一个的过一遍,当它来到索引4的时候,它应该再次指向0索引,这个过程应该是递归执行的,
在这里,它会在来到数组的最后一个索引之后停止。当"i"来到数组的最后一个索引时,我尝试设置"i=0",但无法访问。有没有办法在javascript中实现这个场景。
注:我将粘贴我的渲染方法的一些代码片段在我的反应本机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();
像这样修改i
不会对下一次迭代产生任何影响,因为它是传递给map的函数中的参数。如果您想像这样操作i
,您应该使用在循环主体范围之外定义了i
的循环。
差不多
let i = 0;
while (i < this.state.list.length) {
if (something) {
i++;
} else {
i = 0;
}
}
要确切理解你想实现什么有点困难,但希望这有助于澄清一些困惑。
我认为你需要一个功能组件,5点击后重新加载。.
// Get a hook function
const {useState, useEffect} = React;
const Example = ({title}) => {
const [count, setCount] = useState(0);
const [compCount, setCompCount] = useState(0);
return (
<div>
{<GetComp value={compCount}/>}
<button onClick={() => {
setCount(count+1);
if(count % 5 ==0 && count != 0){
setCompCount(compCount + 5)
}
}}>
Click me
</button>
</div>
);
};
const GetComp = props => {
return [1,2,3,4,5].map(e => <div> {e+props.value} </div>)
}
// Render it
ReactDOM.render(
<Example title="Example using Hooks:" />,
document.getElementById("react")
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.4/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.4/umd/react-dom.production.min.js"></script>
<div id="react"></div>
问题内容: 我想在SQL Server 2005中使用无限循环,并在某些情况下使用关键字退出它。 不起作用,所以我必须使用。有没有更好的方法来组织无限循环? 我知道我可以使用,但是结构上看起来更好。 问题答案: 除了其他答案所建议的以外,我还经常在SQL“ infintie”循环中添加“超时”,如以下示例所示: 我发现上述技术在从长轮询AJAX后端调用的存储过程中很有用。在数据库端进行循环可以使应
如果以前有人问过这个问题,我很抱歉,但我找不到答案。如何循环使用嵌套数组的数组,并在控制台中打印项目出现的实例数? 因此应该打印出名称“bob”的数字2,因为“bob”在数组中出现两次。 这是我的阵列和我目前拥有的:
我需要在eventmachine上有一个无限循环,它不断地读取redis队列。下面是我的代码。递归是正确的方法吗?我尝试了loop,但无法以那种方式工作。
我刚刚部署了一个laravel项目在aws轻帆实例,但当我试图通过我的IPhttp://65.0.166.121/访问我的网站,主页继续加载在一个无尽的循环,但我可以访问其他链接,即http://65.0.166.121/login.
问题内容: 尽管我知道问这个问题会有点愚蠢,但我仍然想查询有关它的技术观点的更多信息。 无限循环的简单示例: 如何从此类外部中断(停止)此无限循环(例如,在继承的帮助下)? 问题答案: 即使写这篇文章我也觉得很脏,但是… 从不同的线程,你可以调用一个实现,抛出一个当你调用。
问题内容: 我想重复创建div,这些项目是函数返回的对象。但是,以下代码报告错误:达到10个$ digest()迭代。流产!jsfiddle在这里:http://jsfiddle.net/BraveOstrich/awnqm/ 问题答案: 简短的回答 :您真的需要这样的功能还是可以使用属性?http://jsfiddle.net/awnqm/1/ 长答案 为简单起见,我仅描述您的情况-ngRepe