Что такое правильный способ использования булевых данных в переключателях. Значения будут преобразованы из булевых в строки, если они используются напрямую.ReactJS: Как использовать логические значения в переключателях?
JSON-данные для полого ввода, которые поджаты:
var question = [
{value: true, name: "Yes"},
{value: false, name: "Not this time"}
]
Кнопка радио поле:
<input type="radio"
name="question"
onChange={this.state.onRadioChange}
value={this.state.question[0].value} /> {this.state.question[0].name}
<input type="radio"
name="question"
onChange={this.state.onRadioChange}
value={this.state.question[1].value} /> {this.state.question[1].name}
связывание для onRadioChange:
onRadioChange: function(e) {
console.log(e.target.value);
}
на консоль журнал отображает, что выбранные значения преобразуются из булевых в строки.
Одним из способов обработки этого является добавление дополнительной функции к функции onRadioChange
для преобразования строк "true"/"false"
в booleans от e.target.value
, но это немного походит на хакерство. Кроме того, использование только «e.target.checked» не будет работать, потому что в некоторых группах переключателей у меня есть другие значения, чем booleans (которые необходимо передать).
Некоторым универсальным и чистым решением было бы использовать таблицу постоянных значений, которая преобразуется из и в REST.
Есть ли какой-нибудь специальный способ ReactJS? Возможно, нет.
Значение _Attribute_ всегда _String_. Если это значение должно быть _truthy_ или _falsy_, то единственным _falsy String_ является '' '' ', т. Е.'! '"; // true' –
@PaulS. Да, хороший момент. С JSON-данными это довольно распространенная ситуация, когда вам нужно привязать булевы значения к радиокнонам, а некоторые фреймворки/библиотеки имеют автоматические преобразования при привязках. Я хочу знать, как люди это реагируют, и есть какие-то волшебные помощники. – Pekka
Я думаю, что вы можете 'foo || '' ', но вам может потребоваться проверить ваши данные отправки после того, как может исчезнуть ложный выбор. –