[Typescript] - Dynamic string union types in Typescript
Truong Bui
Published on:
•
Last updated:
Problem
I have a string union type like this:
type Status = 'active' | 'inactive' | 'pending';
but Status can be any string, not only active , inactive , pending . How can I define a type that allows any string?
Solution
You can use the following type to allow any string:
type Status = 'active' | 'inactive' | 'pending' | string;
But there is a new problem: we can't use the completion hint anymore

To solve this problem, we can use string & {} retain the completion hint
type Status = 'active' | 'inactive' | 'pending' | string & {};
Now, we can use the completion hint again

Hope you find this article useful. If you have any questions, please let me know in the comment section below. 👇