type filter<T extends object> = { [K in keyof T]: condition ? ... : never }[keyof T]
[keyof T] keyof T => key1 | key2 | key3 ...
[key1 | key2 | key3 ...]
可以看成 [Literal type]
而 [literal type]
会执行 "遍历 每一个可成立的字面量"的...{k1:nerver, k2: value}['k1'|'k2]
此类型返回值是 value 也就是说 会自动过滤掉 never
A[x|y]=A[x]|A[y]
T|never=T T&never=never
<Component<Generic Type> attributes... />
Don’t use FunctionComponent<P>/FC<P> to define a function component
git push origin master:remoteBranch
从本地 master 分支上 新建 远程分支, 并 push 到远程仓库.