Как упростить этот код? Я хочу сопоставить его в ячейке календаря, если доступны startDate или endDate, или сопоставить их оба, если индексы разные.

else if (
   (employeeStartLeave && employeeStartLeave.length) ||
   (employeeEndLeave && employeeEndLeave.length)
) {
   if (employeeStartLeave && employeeStartLeave.length) {
     return (
       <ul className="events">
         {employeeStartLeave.map((item, i) => (
           <li key={i}>
             <Tag color="green">{item.sfMember}</Tag>
            </li>
            ))}
          </ul>
        );
      }

   if (employeeEndLeave && employeeEndLeave.length) {
     return (
        <ul className="events">
          {employeeEndLeave.map((item, i) => (
            <li key={i}>
              <Tag color="green">{item.sfMember}</Tag>
            </li>
          ))}
        </ul>
      );
    }
  }
0
Alyssa Reyes 29 Окт 2019 в 15:18

1 ответ

function MyItems({ items }) {
    if (items.length <= 0) return null;
    return (
      <ul className="events">
       {items.map((item, i) => (
         <li key={i}>
           <Tag color="green">{item.sfMember}</Tag>
         </li>
        ))}
      </ul>)
}

MyItems.defaultProps = {
 items: []
}

...

 <MyItems items={employeeStartLeave}/>
 <MyItems items={employeeEndLeave}/>

...
1
Safi Nettah 29 Окт 2019 в 15:30