Why would it matter where a type declaration is located?

时间:2017-09-07 03:12:11

标签: reactjs reason reason-react

The documentation for ReasonReact内添加 + <! - span - >标记,在代码a中指定 where 类型应声明:

  

州的类型可以是任何东西! int,string,ref或common记录类型,您应该在reducerComponent调用之前声明 right

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

let component = ReasonReact.reducerComponent "Dialog";

重点是他们的。

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

2 个答案:

答案 0 :(得分:2)

在使用之前需要定义类型,但在任​​何技术意义上,它们之间是否有任何关系并不重要。这只是惯例,将相关事物保持在一起。

我会在文档中看到澄清这一点。

答案 1 :(得分:1)

在组件定义之后放置状态类型(或者retainProps类型或操作类型)会给出类型错误;如果你打开超级错误(如:https://github.com/reasonml-community/bs-glob/blob/d891ce1fadd3f3b2938d5900eb15241be4a3c1d0/bsconfig.json#L3),则错误会自行解释。

简而言之,它是一个角落案例类型问题(范围转义),您可以在其他地方找到解释。