reactjs - 如何在一个标签中添加多个事件?
问题描述
我正在使用这个反应功能组件制作一个计数计时器,如下所述
import {useEffect, useState, useRef} from 'react'
function Content() {
const [countdown, setCountdown] = useState(10)
const [show, setShow] = useState(true)
const ref = useRef()
function handleStart() {
ref.current = setInterval(() => {
setCountdown(prev => prev - 1)
}, 1000)
}
function handleStop() {
clearInterval(ref.current)
}
return (
<div>
<h2 style={{padding: 20}}>Time remaining: {countdown}</h2>
<button onClick={handleStart}>Start</button>
<button onClick={handleStop}>Stop</button>
</div>
)
}
export default Content;
单击两个按钮之一后如何隐藏这两个按钮。
解决方案
希望下面的代码解决您的问题
import React, { useEffect, useState, useRef } from 'react';
function Example() {
const [countdown, setCountdown] = useState(10);
const [show, setShow] = useState(true);
const ref = useRef();
function handleStart() {
setShow(!show);
ref.current = setInterval(() => {
setCountdown((prev) => prev - 1);
}, 1000);
}
function handleStop() {
setShow(!show);
clearInterval(ref.current);
}
return (
<div>
<h2 style={{ padding: 20 }}>Time remaining: {countdown}</h2>
{show && (
<div>
<button onClick={handleStart}>Start</button>
<button onClick={handleStop}>Stop</button>
</div>
)}
</div>
);
}
export default Example;
推荐阅读
- reactjs - 古腾堡块变化选择器不工作
- hugo - 部分和内容的嵌套列表 - Hugo
- oracle - Oracle 11 查询组/计数和按小时拆分结果
- python - 如何总结列表列表中的元素以在python中进行任意组合
- firebase - Flutter 签名上传到 Firebase 存储
- java - 如何在这种情况下使用对象数组?
- json - Maximo 与外部 JSON API 的集成
- c++ - 将 CMake 配置为在 C++20 中编译,但可执行文件在 C++17 中编译
- rust - 如何将 actix_web HttpServer::new(..) 的参数提取到单独的函数中?
- azure-sql-database - Azure 数据工厂:执行管道活动无法引用调用管道,需要循环行为