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

3
 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 />);

因为类型检查器报错,可能是什么问题呢:

 5152let elems =
  53 ┆   state |> List.map((n, b) => <NumberCard number=n picked=b onClick />
       );
  5455 ┆ <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)

1个回答

5
你需要在参数周围添加更多的括号:
List.map( ((n, b)) =>

否则,它是一个需要2个参数的函数,并且会在第一个参数上进行柯里化(curried),其中函数被用于你的state中的元素。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接