我们知道render函数是要返回一个动态元素的,该元素是在什么条件下生成的呢?条件判断除了用if/else和三元之外还可以用switch case , 如果在条件比较复杂的情况下后者更使用些,来看下面的两个例子:
例子1:
例1.png
如图:我要生成“手机数码”、“生活电器”、“精致礼品”几个元素,而这几个元素可能有个“精品推荐”的标签,那么我就可以先把这些元素和标签都写好,然后根据type
的类型来判断要生成的是哪个元素?是否要生成标签。
例子2:
如图,在“游戏币”列,根据type
值得不同返回的值可能是“彩票”、“游戏币”、“礼品”、“无”四种可能,因为我要返回的元素比较简单,一个纯span就可以,所以我用三元运算符来判断。
而在礼品列种我返回的值可能是“xx彩票”、“xx游戏币”、“无”、“xx礼品”因为这些元素有其他属性比较复杂,所以我用switch case来判断,如果想用三元来判断当然也没问题。
上面两个例子中我们看到,render函数要返回一个元素,这个元素我们可以直接用return返回(如例2的礼品列)也可以把该元素复制给一个变量,然后return出这个变量(如例1),还有一种方式是直接return出该元素,元素值用变量来代替(如例2的游戏币列);
理解了render函数之后,其实上面说的三种方法都是一个套路,归根到底都是动态创建一个元素,根据不同判断条件return到页面;用哪种方法就看实际的应用场景,怎么简便怎么来。
网友评论