React Native/ES6 - неожиданный токен, ожидается ";" ошибка

Я работаю над тем, чтобы попытаться сделать только заголовок, когда collections присутствует и не рендерить его, когда он пуст. Простое исправление, но я получаю эту синтаксическую ошибку "Неожиданный токен" и, похоже, не могу найти проблему. Любая помощь будет принята с благодарностью, так как это мой первый раз, когда я пишу и использую реагирующую нативную версию!

const collectionsHeaderHandler = ({ favorites }) => 
  {favorites.meta.collections} ? 
  {copyDek.FavoritesLayout.collectionsHeader} : 
  "";

const FavoritesLayoutCollections = ({ favorites, onPressHandlers }) => (
  <FavoritesLayoutCollectionsWrapper>
    <FavoritesLayoutCollectionsHeader>
      {collectionsHeaderHandler}
    </FavoritesLayoutCollectionsHeader> 
    <FavoritesCollections
      collections={favorites.meta.collections}
      onPressCollection={onPressHandlers.onPressCollection}
    />
  </FavoritesLayoutCollectionsWrapper>
);

1 ответ

Вам нужно убрать скобки в тернарном операторе, чтобы сначала проверить ваш js:

const collectionsHeaderHandler = ({ favorites }) =>
favorites.meta.collections ?
copyDek.FavoritesLayout.collectionsHeader :
"";

Изменить для уменьшения ошибки линтера

const FavoritesLayoutCollections = ({ favorites, onPressHandlers }) => (
 <FavoritesLayoutCollectionsWrapper>
   <FavoritesLayoutCollectionsHeader>
     {collectionsHeaderHandler({favorites})}
   </FavoritesLayoutCollectionsHeader> 
   <FavoritesCollections
     collections={favorites.meta.collections}
     onPressCollection={onPressHandlers.onPressCollection}
   />
 </FavoritesLayoutCollectionsWrapper>
);
Другие вопросы по тегам