第九周
2022-07-18 ~ 2022-07-24
Algorithm1
Algorithm2
Review
这篇文章介绍了怎么去理解 Statements 和 Expressions;Statements 是程序的结构,有的 Statements 可以用来放置 Expressions;作者有一个比喻,把 Statements 比作小霸王(原文当然是 Super Nintendo),把 Expressions 比作游戏卡;
Tip
const typeToIcon = {
info: InfoCircleFilled,
success: CheckCircleFilled,
error: CloseCircleFilled,
warning: ExclamationCircleFilled,
loading: LoadingOutlined,
};
export type NoticeType = keyof typeof typeToIcon;
export const typeList = Object.keys(typeToIcon) as NoticeType[];
export function attachTypeApi(originalApi: MessageApi, type: NoticeType) {
originalApi[type] = (
content: JointContent,
duration?: ConfigDuration,
onClose?: ConfigOnClose
) => {
if (isArgsProps(content)) {
return originalApi.open({ ...content, type });
}
if (typeof duration === "function") {
onClose = duration;
duration = undefined;
}
return originalApi.open({ content, duration, type, onClose });
};
}
typeList.forEach((type) => attachTypeApi(api, type));
最近工作刚好处理了类似的代码,学习了 antd 的做法后,确实这样的代码更加便于维护扩展,只需利用 typeToIcon 作为 api 名称与图标的这个映射。