# General Translation React SDKs (gt-react, gt-next): Branch
URL: https://generaltranslation.com/ru/docs/react/reference/components/branch.mdx
---
title: Branch
description: Условно отображайте содержимое в зависимости от значения с помощью General Translation gt-react. Справочник API для Branch.
---
Компонент `` добавляет в перевод условную логику. Вы передаёте значение в `branch`, и он отображает соответствующий дочерний проп.
*Доступно в `gt-react`, `gt-next`, `gt-tanstack-start` и `gt-react-native`. В примерах используется импорт из `gt-react`; вместо этого импортируйте из пакета вашего фреймворка.*
## Обзор [#overview]
Укажите значение `branch` и проп child для каждого возможного значения.
```tsx
The user is active.
}
inactive={The user is inactive.
}
/>
```
*Примечание: поместите `` внутрь [``](/docs/react/reference/components/t), чтобы перевести варианты, и оберните динамические значения внутри них в компонент для переменных, например [``](/docs/react/reference/components/var).*
## Как это работает [#how-it-works]
* **Сопоставление значений.** Значение `branch` сопоставляется с переданными вами ключами проп. Отображается содержимое соответствующего проп.
* **Резервный вариант.** Если `branch` не указан или его значение не совпадает ни с одним ключом проп, в качестве резервного варианта отображается `children`. `` никогда не выбрасывает ошибку.
## Пропсы [#props]
| Prop | Описание | Type | Необязательный | По умолчанию |
| ----------------------- | --------------------------------------------------- | ----------------------------- | -------------- | ------------ |
| [`branch`](#branch) | Значение, определяющее, какой контент будет выбран. | `string \| number \| boolean` | Да | — |
| [`children`](#children) | Резервный контент, если по `branch` нет совпадений. | `ReactNode` | Да | — |
| [`[value]`](#value) | Контент для конкретного значения `branch`. | `ReactNode` | Да | — |
### `branch` [#branch]
**Тип** `string | number | boolean` · **Необязательно**
Значение, определяющее, какая ветка будет отображаться. Если `branch` не указан или его значение не соответствует ни одному ключу пропа ветки, вместо неё в качестве резервного содержимого отображается `children`.
### `children` [#children]
**Тип** `ReactNode` · **Необязательный**
Резервное содержимое, которое отображается, если ни один проп `branch` не совпадает со значением `branch`.
### `[value]` [#value]
**Тип** `ReactNode` · **Необязательно**
Проп для каждого возможного значения `branch`. Каждый ключ соответствует значению `branch`, и его содержимое рендерится при совпадении с этим значением. Вместо JSX можно использовать строку.
## Примеры [#examples]
```tsx title="BranchExample.tsx"
import { Branch } from 'gt-react';
export default function HairColor({ user }) {
return (
Their hair is dark.}
brown="Their hair is in the middle." // plain string тоже подойдёт
blonde={Their hair is light.
}
/>
);
}
```
```tsx title="BranchExample.tsx"
import { Branch } from 'gt-react';
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] резервный
);
}
```
```tsx title="BranchExample.tsx"
import { T, Branch, Var } from 'gt-react';
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]
);
}
```
## Примечания [#notes]
* Ключи веток могут быть любыми строковыми значениями, совпадающими с пропом `branch`, поэтому `` можно адаптировать под самые разные сценарии.
* Комбинируйте `` с [``](/docs/react/reference/components/t) и [variable components](/docs/react/guides/formatting-variables), чтобы работать с переводимым динамическим контентом.
* Для контента, зависящего от количества, используйте [``](/docs/react/reference/components/plural).