我一直在寻找一个干净的解决方案来设置参考,如果一个条件是真实的但尚未看到一个好的解决方案。
我要做类似以下的事情(有点伪代码):
<ul>
{this.items.map((item) => {
return (
<li ref={item.isActive === true ? 'activeItem' : null}>
{item.name}
</li>
);
})}
</ul>
如果我不想设置引用,或者这只是一个反模式而且有人有另一种方法可以做到这一点,我只是没有看到ref的值应该是什么。
答案 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
但是,你的解决方案很好