Как сказал @wegry в комментарии, кажется, что для вашего случая использования лучше просто передать значение напрямую, поскольку item.checked
уже является логическим значением, а checked
принимает логическое значение.
Но дляответьте более широко, поскольку атрибуты JSX являются просто необязательными аргументами функции под капотом, вы можете использовать аккуратный синтаксический трюк, чтобы иметь возможность явно передать ему option
: просто перед значением укажите ?
.С вашим примером:
let component = ReasonReact.statelessComponent("TodoItem");
let make = (~item, _children) => {
render: _self => {
<li> <input type_="checkbox" checked=?(item.checked ? Some(true) : None) /> {ReasonReact.string(item.label)} </li>
}
}
Или, чтобы привести пример, где у вас уже есть опция:
let link = (~url=?, label) =>
<a href=?url> {ReasonReact.string(label)} </a>
Это задокументировано в разделе под названием Явно пройдено Необязательно на странице функций в документах Reason.