Skip to content

Instantly share code, notes, and snippets.

@nackjicholson
Created January 14, 2016 19:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nackjicholson/9c007f7789648da806a9 to your computer and use it in GitHub Desktop.
Save nackjicholson/9c007f7789648da806a9 to your computer and use it in GitHub Desktop.
export default function statelessRadio(React) {
return function StatelessRadio({ baseId, defaultValue, titleText, inputs = [], onSelection = () => {}} = {}) {
function handleSelectionChange(event) {
onSelection(event.target.value);
}
return (
<div id={baseId}>
<p id={`${baseId}__title`}>{titleText}</p>
{inputs.map((inputItem) => {
const defaultChecked = (defaultValue === inputItem.value);
return (
<div>
<input type="radio" name={baseId} value={inputItem.value} defaultChecked={defaultChecked} onChange={handleSelectionChange} />
<label>{inputItem.label}</label>
</div>
);
})}
</div>
);
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment