Реагируйте на условный рендеринг с оператором ИЛИ - PullRequest
0 голосов
/ 09 апреля 2020

Можно ли написать условный рендер с оператором ИЛИ в операторе? чтобы избежать двойного кода.

{regions && || regionsWithAnimals && (
  <>
    <h4>Title</h4>
    <div>
      <RegionsMap
        regions={regions || regionsWithAnimals.regions }
      />
    </div>
  </>
)}

Как-то так, это не работает, конечно

РЕДАКТИРОВАТЬ: я мог бы написать:

{regions &&  (
  <>
    <h4>Title</h4>
    <div>
      <RegionsMap
        regions={regions }
      />
    </div>
  </>
)}

и ниже:

{regionsWithAnimals && (
  <>
    <h4>Title</h4>
    <div>
      <RegionsMap
        regions={regionsWithAnimals.regions }
      />
    </div>
  </>
)}

Это то, чего я хочу достичь, но я два раза вызываю один и тот же компонент.

1 Ответ

1 голос
/ 09 апреля 2020

Попробуйте что-то вроде этого:

{(regions || regionsWithAnimals && regionsWithAnimals.regions) && (
  <>
    <h4>Title</h4>
    <div>
      <RegionsMap
        regions={regions || regionsWithAnimals.regions  }
       />
    </div>
  </>
)}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...