# gt-next: General Translation Next.js SDK: Branch URL: https://generaltranslation.com/ru/docs/next/api/components/branch.mdx --- title: Branch description: Справка по API компонента Branch --- {/* СГЕНЕРИРОВАНО АВТОМАТИЧЕСКИ: Не редактируйте напрямую. Вместо этого измените шаблон в content/docs-templates/. */} ## Обзор Компонент `` позволяет добавлять в перевод условную логику. ```jsx const status = 'active'; The user is active.

} inactive={

The user is inactive.

} /> ``` Вы передаёте значение в параметр `branch`, и по указанным вами ключам ему сопоставляется возвращаемое значение. ## Справка ### Свойства Синтаксис `[key]: string` указывает на произвольные ключи, представляющие возможные ветки. Например, можно добавить в качестве параметров такие ветки, как `active` и `inactive`. | Свойство | Описание | | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `branch` | Имя ветки для отображения. | | `children` | Резервное содержимое, которое будет отображаться, если подходящая ветка не найдена. | | `[key]: string` | Ветки, представляющие возможное содержимое для заданного значения ветки. Каждый ключ соответствует отдельной ветке, а его значение — содержимому для отображения. | ### Возвращает `JSX.Element` с содержимым для указанной ветки или резервным содержимым. ### Выбрасывает `Error`, если проп `branch` не указан или имеет недопустимое значение. ## Примеры ### Базовое использование `` должен возвращать разный результат для каждого возможного значения пропа `branch`. В этом примере значение `user.hairColor` используется, чтобы определить, что будет выведено. Мы определили пропы `black`, `brown` и `blonde` в соответствии с возможными значениями `user.hairColor`. ```jsx title="BranchExample.jsx" copy import { Branch } from 'gt-next'; export default function HairColor({ user }) { return ( Their hair is dark.

} brown="Their hair is in the middle." // (можно передать строку, если хотите) blonde={

Their hair is light.

} /> ); } ``` ### Резервное содержимое `children` всегда используется как запасной вариант, если ни один проп не соответствует значению, переданному в `branch`. ```jsx title="BranchExample.jsx" copy import { Branch } from 'gt-next'; export default function HairColor({ user }) { return ( Their hair is dark.

} brown={

Their hair is in the middle.

} blonde={

Their hair is light.

} >

Their hair is unknown.

// [!code highlight]
); } ``` ### Перевод содержимого Branch Если вы хотите перевести содержимое, оберните его в компонент ``. ```jsx title="BranchExample.jsx" copy import { T, Branch } from 'gt-next'; export default function HairColor({ user }) { return ( // [!code highlight] Their hair is dark.

} brown={

Their hair is in the middle.

} blonde={

Their hair is light.

} >

Their hair is unknown.

// [!code highlight] ); } ``` ### Добавление переменных Если вы хотите отображать динамические значения в ветке, обязательно оборачивайте их в компоненты ``, ``, `` или ``. ```jsx title="BranchExample.jsx" copy import { Branch, T, Var } from 'gt-next'; export default function HairColor({ user }) { return ( Their hair is dark.

} brown={

Their hair is in the middle.

} blonde={

Their hair is light.

} >

Unhandled hair color: {user.hairColor}

// [!code highlight]
); } ``` *** ## Примечания * Ключи для веток могут быть любыми строковыми значениями, соответствующими пропсу branch. Такая гибкость позволяет легко адаптировать `` к широкому спектру сценариев использования. * Комбинируйте `` с другими компонентами, например с `` для перевода и [переменными компонентами](/docs/next/guides/variables) для динамического контента, чтобы создавать богатые и локализованные интерфейсы. ## Что дальше * Более продвинутые сценарии использования и примеры см. в разделе [Использование компонентов ветвления](/docs/next/guides/branches).