ReactJS Проблема реализации библиотеки i18n - PullRequest
0 голосов
/ 22 марта 2020

Я новичок ie в React и пытаюсь добавить i18n в свое приложение. Я не могу понять / я знаю, что это что-то глупое с моей стороны, но я не мог найти решение по моей проблеме /. У меня есть два простых вопроса, и я был бы очень рад, если бы вы дали мне ответ на них.

  1. Я пытаюсь добавить ресурсы в свой компонент меню, но это дает мне " Ошибка синтаксического анализа: неожиданный токен ". Подскажите, пожалуйста, как мне добавить const о i18n.

    import React from "react";
    import { Link } from "react-router-dom";
    import { useTranslation } from 'react-i18next';
    import "./navbar.scss";
    
    const Navbar = () => (
      const { t, i18n } = useTranslation()
      <div className="Navbar">
        <nav>
          <ul>
            <li>
              <Link to="">{t('b.label')}</Link>
            </li>
            <li>
              <Link to="/">{t('sm.label')}</Link>
            </li>
            <li>
              <Link to="/">{t('aboutmenu.label')}</Link>
            </li>
            <li>
              <Link to="/">{t('contactmenu.label')}}</Link>
            </li>
            <li>
              <Link to="/">BG/EN</Link>
            </li>
          </ul>
        </nav>
      </div>
    );
    export default Navbar;
    
  2. Мой второй вопрос - как добавить библиотеку интернационализации в мой тег title, потому что моя структура находится в html компонент.

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

Заранее спасибо, Я обещаю больше не беспокоить вас такими вопросами в будущем

1 Ответ

0 голосов
/ 22 марта 2020

нет глупых вопросов, никаких забот.

  1. Попробуйте вместо этого следующий код:
import React from "react";
import { Link } from "react-router-dom";
import { useTranslation } from 'react-i18next';

import "./navbar.scss";

const Navbar = () => {
  const { t, i18n } = useTranslation();

  return (
    <span>{t('b.label')}</span>
    <span>{t('sm.label')}</span>
    <span>{t('aboutmenu.label')}</span>
    <span>{t('contactmenu.label')}</span>
  );
}
Если вы начали свой проект с create-реагировать-приложение , в большинстве случаев вам не нужно добавлять библиотеки в ваш тег head (который находится в public/index.html). Чтобы настроить библиотеку activ-i18next, прочитайте руководство act-i18next .

Это похоже на хорошее руководство по YouTube , которое должно научить вас больше о реакции и i18n реагируют. Удачи! :)

...