我是一个反应原生的新手。我有3个功能
function1()
function2()
function3()
我想在按下一个按钮时多次运行这3个功能。当用户点击第4次,然后再次运行第一个功能,以此类推
这是我尝试过的。但我一直处于4以下的红线,错误如下=预期标识符。ts(1003(
for (let i = 0; i < 4; i++) {
<Icon onPress={this.function[i]}/>
}
请帮忙做的最好方法是什么
您可能需要为Icon分配一个关键道具,如下所示:
<Icon key={i} onPress={this.function[i]} />
在React中,任何迭代的组件都必须有一个关键道具,尤其是在映射数组时。我想for循环应该是一样的。
更新:如果循环Icon组件,它将渲染多次。但我想你只想点击一个Icon组件。然后你可以使用状态来迭代函数。
<Icon onPress={() => {
this.function[i]
if (i === 3) this.setState({ i: 1 })
else this.setState({ i: i + 1 })
}} />
不要忘记在render((函数外添加此状态语句:
state = { i: 1 }