为什么类型声明的位置很重要?

Why would it matter where a type declaration is located?

documentation for ReasonReact 指定 在代码中 应声明类型的位置:

The state type could be anything! An int, a string, a ref or the common record type, which you should declare right before the reducerComponent call:

type state = {counter: int, showPopUp: bool};

let component = ReasonReact.reducerComponent "Dialog";

重点是他们的。

为什么类型声明的位置很重要,只要它是有效的?只有当两条线相邻时才会发生某种优化吗?如果我在它们之间插入其他东西或将它们放在单独的模块中会怎样?

类型需要在使用之前定义,但在任何技术意义上,这两者之间是否有任何关系并不重要。这只是惯例,将相关的东西放在一起。

我会在文档中弄清这一点。

将state类型(或retainedProps类型或action类型)放在组件定义之后会导致类型错误;如果你打开超级错误(像这样:https://github.com/reasonml-community/bs-glob/blob/d891ce1fadd3f3b2938d5900eb15241be4a3c1d0/bsconfig.json#L3),那么错误会简短地自我解释。

简而言之,这是一个极端案例输入问题(范围转义),您可以在别处找到其解释。