作者:每天吃的饱饱的 | 来源:互联网 | 2022-12-02 10:10
我想呈现一个HTML复选框,其选中状态由数据控制。
给出一个接收item
类型的无状态组件{ label: string, checked: bool}
,
像这样:
let compOnent= ReasonReact.statelessComponent("TodoItem");
let make = (~item, _children) => {
render: _self => {
{ReasonReact.string(item.label)}
}
}
如何根据条件将属性的存在添加checked
到input
标签item.checked == true
?
1> glennsl..:
正如@wegry在评论中说的那样,直接传递值似乎更适合您的用例,因为它item.checked
已经是一个布尔值,并且checked
需要一个布尔值。
但是更笼统地说,由于JSX属性只是幕后的可选函数参数,因此您可以使用一种巧妙的语法技巧来显式地将其传递option
给它:在值之前加上?
。以您的示例为例:
let compOnent= ReasonReact.statelessComponent("TodoItem");
let make = (~item, _children) => {
render: _self => {
{ReasonReact.string(item.label)}
}
}
或者举个例子,说明您已经可以选择:
let link = (~url=?, label) =>
{ReasonReact.string(label)}
原因文档在“原因”文档的“功能”页面上标题为“ 显式传递可选 ”的部分中进行了说明。