# 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).