[注意:我指的是纯粹的Reason JSX函数不是 Reason React PPX]
给出不使用子级的JSX函数:
value
尝试使用dune build
进行编译会产生此错误,这似乎阻止了可执行文件的创建:
let f = (~foo, ~children, ()) => foo;
<f foo="a" />;
使用下划线将children参数标记为未使用:
line 1, characters 16-24:
Warning 27: unused variable children.
File "hello_world.re", line 1:
Error: Some fatal warnings were triggered (1 occurrences)
产生一个关于从JSX调用中期待孩子的错误:
let f = (~foo, ~_children, ()) => foo;
<f foo="a" />;
有没有办法编译不使用子级的JSX函数?
答案 0 :(得分:2)
问题在于~_children
不仅在内部重命名参数并将其标记为未使用,而且也在外部重命名。因此~children
不再是函数签名的一部分。
相反,您应该使用as
在内部对其进行重命名,这仍然会将其标记为未使用:
let f = (~foo, ~children as _children, ()) => foo;
答案 1 :(得分:0)
是否可以使它成为可选参数?
let f = (~foo, ~children=?, ()) => foo;
<f foo="a"/>