如果条件是真实的,请设置ref

时间:2016-04-03 16:44:08

标签: reactjs react-native

我一直在寻找一个干净的解决方案来设置参考,如果一个条件是真实的但尚未看到一个好的解决方案。

我要做类似以下的事情(有点伪代码):

<ul>
   {this.items.map((item) => {
      return (
         <li ref={item.isActive === true ? 'activeItem' : null}>
            {item.name}
         </li>
      ); 
   })}
</ul>

如果我不想设置引用,或者这只是一个反模式而且有人有另一种方法可以做到这一点,我只是没有看到ref的值应该是什么。

2 个答案:

答案 0 :(得分:1)

虽然您的解决方案似乎没问题,但如果您更喜欢其他方法,可以尝试:

<ul>
   {this.items.map((item) => {
     if(item.isActive) {
       return (
         <li ref='activeItem'>
           {item.name}
         </li>
        );
     } else {
       return (
         <li>
           {item.name}
         </li>
       );
     }
   })}
</ul>

答案 1 :(得分:0)

不要忘记地图功能中的var date = new Date(object.date[0], object.date[1] - 1, object.date[2], object.date[3], object.date[4], object.date[5]); 属性!

如果真的让你看起来很难看,或者你的代码中需要很多这些条件,你可以定义一个小助手来完成工作

key

但是,你的解决方案很好