如何在ReasonML中将元组分解为List.map


let numbers = [1, 5, 6, 12, 52, 25];                                                                
let state: list((int, bool)) =  numbers |> List.map(n => (n, false));                                                         
state |> List.map((n, b) => <NumberCard number=n picked=b onClick />);

什么可能是错误的,因为类型检查器说:

51 ┆
52 ┆ let elems =
53 ┆   state |> List.map((n, b) => <NumberCard number=n picked=b onClick />
);
54 ┆
55 ┆ <div className="flex flex-column">
This has type:
list(int) => list(bool => React.element)
But somewhere wanted:
list((int, bool)) => 'a
The incompatible parts:
int
vs
(int, bool)

您的参数周围需要更多的括号:

List.map( ((n, b)) =>

否则,它是一个由2个参数组成的函数,并在第一个参数上使用state中的元素进行curry。

最新更新