import { ChangeEvent, useState } from 'react' interface RandomSeedProps { salt: string setSalt: (salt: string) => void count: number setCount: (count: number) => void } export default function RandomSeed({ salt, setSalt, count, setCount }: RandomSeedProps) { const [errors, setErrors] = useState({ salt: '', count: '' }) const validateSalt = (value: string) => { if (value.trim() === '') { setErrors(prev => ({ ...prev, salt: '请输入随机种子' })) } else { setErrors(prev => ({ ...prev, salt: '' })) } setSalt(value) } const validateCount = (value: number) => { if (value < 1) { setErrors(prev => ({ ...prev, count: '抽取数量必须大于0' })) } else { setErrors(prev => ({ ...prev, count: '' })) } setCount(value) } return (

随机种子

选择一个随机的文本作为种子值。这个种子值将被用作计算哈希值的输入。为了获得最好的排序效果,建议选择事先无法确定的内容作为种子,如明天的热搜第一条,或某一个群聊内最新的一条消息。

) => validateSalt(e.target.value)} className="w-full border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 dark:bg-gray-700 dark:border-gray-600 dark:text-white" /> {errors.salt &&

{errors.salt}

}
) => validateCount(Number(e.target.value))} className="w-24 border-gray-300 rounded-md shadow-sm focus:ring-indigo-500 focus:border-indigo-500 dark:bg-gray-700 dark:border-gray-600 dark:text-white" /> {errors.count &&

{errors.count}

}
) }