#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, и это сработало.