import React, { useState, useRef } from 'react'; import { View, Text } from 'react-native'; import CountDown from '../countdown'; import { DemoPage, DemoCard } from '../configprovider/styles/demo.page'; import { useTranslate } from '../utils'; interface T { basic: string; format: string; millisecond: string; serverTime: string; async: string; controlTime: string; customStyle: string; day: string; hour: string; minute: string; second: string; } const CountdownDemo = () => { const [translated] = useTranslate({ 'zh-CN': { basic: '基本用法', format: '自定义格式', millisecond: '毫秒级渲染', serverTime: '以服务端的时间为准', async: '异步更新结束时间', controlTime: '控制开始和暂停的倒计时', customStyle: '自定义展示样式', day: '天', hour: '时', minute: '分', second: '秒' }, 'zh-TW': { basic: '基本用法', format: '自定义格式', millisecond: '毫秒级渲染', serverTime: '以服务端的时间为准', async: '异步更新结束时间', controlTime: '控制开始和暂停的倒计时', customStyle: '自定义展示样式', day: '天', hour: '时', minute: '分', second: '秒' }, 'en-US': { basic: 'Basic Usage', format: 'Custom Format', millisecond: 'Millisecond', serverTime: 'Server Time Prevails', async: 'End-Time of Asyn Update', controlTime: 'Manual Control', customStyle: 'Custom Style', day: 'Day', hour: ':', minute: ':', second: '' } }); const stateRef1 = useRef({ endTime: Date.now() + 60 * 1000 }); const onEnd1 = () => { // console.log('countdown: ended.'); }; const stateRef2 = useRef({ endTime: Date.now() + 60 * 1000 }); const stateRef3 = useRef({ endTime: Date.now() + 60 * 1000 }); const stateRef4 = useRef({ serverTime: Date.now() - 20 * 1000, endTime: Date.now() + 60 * 1000 }); const stateRef5 = useRef({ endTime: Date.now() + 60 * 1000 }); const [resetTime, setResetTime] = useState({ d: '1', h: '00', m: '00', s: '00' }); const onUpdate = (v) => { setResetTime(v); }; return ( {/* 基本用法 */} {/* 自定义格式 */} {/* 毫秒级渲染 */} {/* 以服务端的时间为准 */} {/* 自定义展示 */} {resetTime.d}{translated.day} {resetTime.h} : {resetTime.m} : {resetTime.s} ); }; export default CountdownDemo;