React Native Radio Buttons Group
Simple, best and easy to use radio buttons for react native apps.Getting Started
Just a sneak peek (lots more can be done)
Installation
npm i react-native-radio-buttons-group --save
or
yarn add react-native-radio-buttons-group
Usage
JavaScript Example
App.js
import React, { useMemo, useState } from 'react';
import RadioGroup from 'react-native-radio-buttons-group';
export default function App() {
const radioButtons = useMemo(() => ([
{
id: '1', // acts as primary key, should be unique and non-empty string
label: 'Option 1',
value: 'option1'
},
{
id: '2',
label: 'Option 2',
value: 'option2'
}
]), []);
const [selectedId, setSelectedId] = useState();
return (
<RadioGroup
radioButtons={radioButtons}
onPress={setSelectedId}
selectedId={selectedId}
/>
);
}
TypeScript Example
App.tsx
import React, { useMemo, useState } from 'react';
import RadioGroup, {RadioButtonProps} from 'react-native-radio-buttons-group';
export default function App() {
const radioButtons: RadioButtonProps[] = useMemo(() => ([
{
id: '1', // acts as primary key, should be unique and non-empty string
label: 'Option 1',
value: 'option1'
},
{
id: '2',
label: 'Option 2',
value: 'option2'
}
]), []);
const [selectedId, setSelectedId] = useState<string | undefined>();
return (
<RadioGroup
radioButtons={radioButtons}
onPress={setSelectedId}
selectedId={selectedId}
/>
);
}
Props
RadioButton
Key | Type | Required | Default | Valid Values --- | --- | --- | --- | --- accessibilityLabel | string | no | Value oflabel
| any string
borderColor | string | no | color | css color formats
borderSize | number | 2 | | positive numbers
color | string | no | #444 | css color formats
containerStyle | object | no | | react style
description | ReactNode or string | no | | any react node or string
descriptionStyle | object | no | | react style, applied only if description
is a string
disabled | boolean | no | false | true / false
id | string | yes | | unique string
label | ReactNode or string | no | | any react node or string
labelStyle | object | no | | react style, applied only if label
is a string
layout | enum | no | row | row / column
onPress | function | no | | any function
selected | boolean | no | false | true / false
size | number | no | 24 | positive numbers
testID | string | no | | any string
value | string | no | | any stringRadioGroup
Key | Type | Required | Default | Valid Values --- | --- | --- | --- | --- accessibilityLabel | string | no | | any string containerStyle | object | no | | react style labelStyle | object | no | | react style layout | enum | no | column | row / column onPress | function | no | | any function radioButtons | array | yes | | array of RadioButton objects selectedId | string | no | | unique string testID | string | no | | any stringHorizontal (side by side)
<RadioGroup
radioButtons={radioButtons}
onPress={onPressRadioButton}
layout='row'
/>