采用key-value的形式替换繁琐的if-else (高端大气上档次)
if-else或switch写法:
// if-else
const onTabChange = (key: string) => {
if(key=="home") setTabContent(<Home />)
else if(key=="search") setTabContent(<Search />)
else if(key=="article") setTabContent(<Article />)
else if(key=="video") setTabContent(<Video />)
}
// switch
const onTabChange = (key: string) => {
switch (key) {
case "home":
setTabContent(<Home />);
break;
case "search":
setTabContent(<Search />);
break;
case "article":
setTabContent(<Article />);
break;
case "video":
setTabContent(<Video />);
break;
default:
return false;
break;
}
策略模式改造:
const onTabChange = (key: string) => {
const tab = {
"home": <Home />,
"search": <Search />,
"article": <Article />,
"video": <Video />,
}
setTabContent(tab[key]);
}