В моем компоненте:
data Query a = SetImageUrl Int String a
Основной компонент (приложение):
eval :: Query ~> H.ParentDSL State Query ChildQuery ChildSlot Void m
eval = case _ of
HandleItemChange groupId (LIS.ActiveChanged selected) next -> do
let apReq = AP.SetImageUrl groupId (imageUrl selected)
_ <- H.query' CP.cp2 AvatarPictureSlot (H.request apReq)
pure next
Компилятор говорит:
[1/1 InfiniteType] src/App.purs:85:57
85 _ <- H.query' CP.cp2 AvatarPictureSlot (H.request apReq)
^^^^^
An infinite type was inferred for an expression:
t0 -> t0
while trying to match type t0 -> t0
with type t0
while checking that expression apReq
has type (t0 -> t0) -> t1 t0
in value declaration app
where t0 is an unknown type
t1 is an unknown type
Я думаю, что слоты и дочерние пути в порядке, потому что render
функция компилируется и работает правильно.
Как исправить эту ошибку? Я проверил несколько раз по руководству, но я просто не вижу никакой разницы, и сообщение компилятора очень бесполезно (для меня).