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