You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在现有React应用中添加react-countdown倒计时组件

问题解答

你给出的示例代码无法正常运行,ReactDOM.render 仅允许传入一个根React元素作为第一个渲染参数,第二个参数需要是页面上真实存在的DOM挂载节点,你同时传入两个组件的写法不符合语法要求。

正确实现步骤(将倒计时放在App内指定div)

如果你需要把倒计时放在App组件内部的指定位置,按下面的步骤操作即可:

  • 第一步:在App.js文件顶部引入react-countdown组件,你原有的hooks引入、业务逻辑代码都不需要修改
  • 第二步:找到App返回的JSX结构中你要放置倒计时的指定div,直接把<Countdown />组件写在该div内部即可,组件的date等参数可以按需配置
  • 第三步:项目入口文件不需要做任何修改,保持原有渲染<App />的逻辑即可

你可以参考下面的App.js示例代码:

// App.js 顶部保留你原有所有引入,新增Countdown的引入
import React, { useState, useEffect } from 'react';
import Countdown from 'react-countdown';

function App() {
  // 你原有所有hooks、业务逻辑代码保留不动
  const [demo, setDemo] = useState('');

  return (
    <div className="App">
      {/* 你原有所有布局代码保留不动 */}
      <div>原有布局内容</div>
      
      {/* 找到你要放倒计时的指定div,插入组件即可 */}
      <div className="target-countdown-box">
        <Countdown date={Date.now() + 10000} />
        {/* 如果需要自定义倒计时的展示格式,可以额外传renderer参数配置 */}
      </div>

      {/* 剩余原有布局代码保留不动 */}
    </div>
  )
}

export default App;

特殊场景:倒计时放在App组件外部

如果你确实需要把倒计时放在App组件外部、和App平级显示,可以把两个组件包裹在同一个根节点下传入ReactDOM.render,但这种写法下倒计时不会出现在App内部的指定div中,参考代码如下:

import React from 'react';
import ReactDOM from 'react-dom';
import Countdown from 'react-countdown';
import App from './App';

ReactDOM.render(
  <> {/* 用空标签作为根节点包裹两个平级组件 */}
    <Countdown date={Date.now() + 10000} />
    <App />
  </>,
  document.getElementById('root')
);

内容的提问来源于stack exchange,提问作者Adam_G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 21:06:03