import React, { useState, useEffect } from 'react'; import { Text, View } from 'react-native'; import { Space, Uploader, Stepper } from '@xrnjs/ui'; import Card from '_global/Card'; import styles from './style'; const defaultControlledValue = [ { uri: 'https://t7.baidu.com/it/u=993577982,1027868784&fm=193&f=GIF', status: 'isUploading', }, ] as any; const StateControl = () => { const [controlledFiles, setControlledFiles] = useState( defaultControlledValue ); const [spacing, setSpacing] = useState(35); const containerSpacing = 10 * 2 + spacing * 2; useEffect(() => { const timer = setTimeout(() => { const updatedFiles = controlledFiles.map((file: any) => { if (file.status === 'isUploading') { return { ...file, status: 'done', }; } return file; }); setControlledFiles(updatedFiles); }, 5000); return () => clearTimeout(timer); }, [controlledFiles]); return ( 受控组件 { console.log('受控文件变化:', files); setControlledFiles(files); }} /> 禁用状态 { console.log('点击了禁用的上传组件:', files); }} onChange={(files: any) => { console.log('禁用状态文件变化:', files); }} /> 容器间距调整 间距: setSpacing(v || 0)} /> { console.log('动态间距文件1:', files); }} /> { console.log('动态间距文件2:', files); }} /> ); }; export default StateControl;