switch(this.props.cardType) {
Нет, так не надо. Лучше сделайте объект, где ключами будут вот эти cardType, а значениями - вынесенные в отдельные компоненты куски кода из case'ов. Тогда логика выбора что рендерить сократится до... В общем, совсем коротко и просто получится:
const Component = components[this.props.cardType];
return Component && <Component {...this.props} />;
https://jsfiddle.net/ptm0zay7/1/