Я ищу безопасный способ создания таких объектов с ключами:
interface Statuses {
WAITING: 'WAITING';
IN_PROGRESS: 'IN_PROGRESS';
RESOLVED: 'RESOLVED';
}
type StatusKeys = keyof Statuses;
const STATUS: Statuses = {
WAITING: 'WAITING',
IN_PROGRESS: 'IN_PROGRESS',
RESOLVED: 'RESOLVED',
};
Но я думаю, что это немного неудобно и излишне устанавливать таким образом, и мне нужно объявить значения Дважды.
Есть ли лучший и более безопасный способ сделать это?
В моей функции React это выглядит так:
const [status, setStatus] = useState<StatusKeys>(STATUS.WAITING);
const handleStatusChange = (
event: React.ChangeEvent<{ name?: string; value: unknown }>
) => {
const newStatusValue = event.target.value as StatusKeys;
setStatus(newStatusValue);
};