Javascript React native:如何通过警报扩展此计时器?

Javascript React native:如何通过警报扩展此计时器?,javascript,react-native,Javascript,React Native,我是个新来的本地人。我有一个倒计时计时器(目前设置为5秒),当时间到了,我想要一个警报,让用户可以选择重新启动计时器。屏幕中会有其他元素,所以我不一定需要“刷新”(例如,如果用户输入了一些文本,我不希望在计时器延长时这些内容消失) 时间到了会弹出警报,但我不知道如何通过警报按钮重置计时器 import React,{Component}来自'React'; 进口{ 样式表, 可触摸不透明度, 文本, 看法 文本输入, 警觉的, }从“反应本机” 从“反应本机倒计时组件”导入倒计时; 导出默认类

我是个新来的本地人。我有一个倒计时计时器(目前设置为5秒),当时间到了,我想要一个警报,让用户可以选择重新启动计时器。屏幕中会有其他元素,所以我不一定需要“刷新”(例如,如果用户输入了一些文本,我不希望在计时器延长时这些内容消失)

时间到了会弹出警报,但我不知道如何通过警报按钮重置计时器

import React,{Component}来自'React';
进口{
样式表,
可触摸不透明度,
文本,
看法
文本输入,
警觉的,
}从“反应本机”
从“反应本机倒计时组件”导入倒计时;
导出默认类付款扩展组件{
建造师(道具){
超级(道具);
此.state={
计时器:5,
};
}
timesUp=()=>{
警惕,警惕(
“时间到了!”,
“我们能为您做些什么?”,
[
{ 
文本:“扩展计时器”,
//我想在这里重新启动计时器
onPress:this.setState(newTime=>({timer:5}))},
{
文本:“取消”,
onPress:()=>console.log(“取消按下”)},
],
{可取消:false}
);
}
render(){
返回(
);
}

}
react native countdown component
提供一个
id
道具,以确定是否要重置计时器

您可以在超时时重置
id

onPress: () => this.setState({ timerId: newTimerId })


<CountDown id={this.state.timerId} />
onPress:()=>this.setState({timerId:newTimerId})
请使用setTimeout(函数(){},时间单位为毫秒)。
这是一个本机javascript函数,用于在特定时间后触发函数。

如果timerId和newTimerId的值不同,但如果它们相同,则此函数对我有效。我目前的timerId和newTimerId都是5。您必须设置不同的
id
,您需要创建另一个状态
timerId
,5只是您的计时器倒计时,而
timerId
是计时器的id,如果
timerId
更改,您将重置计时器。基本上你在你的州会有两样东西明白了,谢谢!使用您的解决方案,我遇到了第三次无法重新启动计时器的问题
onPress:()=>this.setState({timerId:!this.state.timerId})}
对meI来说效果很好,meI建议使用随机id或增量id,例如
onPress:()=>this.setState(previousState=>({timerId:++previousState.timerId}))}
,很高兴得到帮助