В HTML нет элемента radio
. Там <input type="radio">
. Кроме того, у input
элементов не может быть потомков, поэтому вы, вероятно, хотели бы label
вокруг этого.
Так что это было бы что-то вроде:
return (
<label>
{props.children}
<input type="radio" className={radioClass} />
</label>
);
Примечание: Вы можете сделать radioClass
проще:
const {size, color} = this.props;
let radioClass = '';
if (size === 'small' || size === 'large') {
radioClass += `radio-${size}`;
}
if (color === 'secondary' || color === 'warning' || color === 'light' || color === 'dark') {
radioClass += ' radio-${color}`;
}
или , если вы знаете, что props.size
и props.color
всегда будут иметь допустимые значения, просто:
const radioClass = `radio-${size} radio-${color}`;
... но ваш код, похоже, защищался от отсутствия или недействительности size
и color
. (Я предположил, что по крайней мере color
необязательно.)