如何使用React重构switch语句中的代码?

时间:2019-04-15 10:55:52

标签: reactjs

我想使用react重构switch语句的代码吗?

我必须根据商品的类型(例如“创建”,“删除”,“更新”,“评论”)列出商品的消息。为此,我使用switch语句。现在,如果列表项溢出,则添加一个展开按钮。为此,我创建了所有列表项通用的可扩展组件。

代码在下面,

sig_atomic_t

上面的代码有效。从上面的代码中可以看到,在每种情况下都将重复使用Expandable组件,如何将其放在每种情况下,这样我就不必在每种情况下都重复相同的代码?谢谢。

1 个答案:

答案 0 :(得分:0)

对于每个动态值,可以创建一个变量,只需更新相应case语句中的值即可。最后,使用这些变量并返回JSX。

赞:

let text = '', mname = '', additional_text='';
switch (list.type) {
    case 'created': {
        text = 'created';
        mname = model;
        additional_text = some_text;
        break;
     }
    case 'deleted': {
        text = 'deleted';
        mname = model;
        additional_text = some1_text;
        break;
     }
    case 'udpated':
        {/*ssooooooooooooo on ''''''''''''*/}
    default:
         return null;
}

return (
    <Expandable base_height={50}>
        <List
            icon={<Svg/>}
            text={<Text text={text} mname={mname} 
            additional_text={additional_text} />}/>
    </Expandable>
);