Как решить эту ошибку JSX в react native?

#javascript #android #reactjs #typescript #react-native

#язык JavaScript #Android #реагирует на #машинописный текст #реагировать-родной

Вопрос:

Получение приведенной ниже ошибки в новом файле TS, содержащем JSX для React native:

 Unexpected token, expected ","  

Ниже приведен код для компонента, который я создаю. Ошибка, по-видимому,

 class TabLabel extends React.PureComponentlt;IReactionsLabelPropsgt; {  constructor(props: IReactionsLabelProps) {  super(props);  }   render = () =gt; {  const { name, baseUrl, getCustomEmoji, reactions, page, theme } = this.props;   return (  lt;View style={ sharedStyles.tabView }gt;  lt;Emoji  content={name}  standardEmojiStyle={sharedStyles.reactionEmoji}  customEmojiStyle={sharedStyles.reactionCustomEmoji}  baseUrl={baseUrl}  getCustomEmoji={getCustomEmoji}  /gt;  lt;Text style={{  ...sharedStyles.textBold, color: themes[theme].bodyText  }}gt;  { reactions[page]?.usernames?.length }  lt;/Textgt;  lt;/Viewgt;  );  } }  

Линтер выдает другую ошибку рядом с опорой «стиль» в первой строке JSX: Ошибка синтаксического анализа: «gt; » ожидаемая

Я полностью застрял и понятия не имею, что происходит не так. Полный файл доступен по адресу https://github.com/RocketChat/Rocket.Chat.ReactNative/blob/b1f9916ed8f9a423e356987d934998a139809627/app/views/ReactionsView/index.ts#L45

Полная ошибка ниже: код ошибки

Комментарии:

1. Можете ли вы указать полную ошибку, включая номер строки?

2. Попробуйте изменить свой стиль текста на [sharedStyles.textBold, { color: themes[theme].bodyText }] .

3. @Дэн, это был оригинал. Изменил его на то, что вы видите сейчас, чтобы попытаться устранить ошибку.

4. Не связаны, но почему здесь функция свойства экземпляра, а не функция прототипа? Ничего особенного, но в данном случае это кажется излишним.

5. @DaveNewton действительно избыточен. Это была отчаянная попытка что-то изменить и заставить это работать, но безрезультатно.

Ответ №1:

Я отвечу на свой собственный вопрос. И теперь я чувствую себя чрезвычайно глупо, излишне говорить, что потратил буквально несколько часов, пытаясь решить эту проблему.

Просто нужно было изменить расширение файла с .ts на .tsx, и это сработало.