Javascript 寓言文档Pojo属性

Javascript 寓言文档Pojo属性,javascript,fable-f#,Javascript,Fable F#,有没有关于[]应该做什么的文档?我得到了redux样本,并计算出它可以解开歧视工会。问题是,我将操作定义为一个有区别的联合,但redux不允许将对象文本以外的任何内容作为操作传递,因此有区别的联合不能作为操作 那么下面的类型 [<Pojo>] type TodoAction = | EditTodo of id:int * text:string | ClearCompleted console.log(EditTodo(22,"Hello World")) con

有没有关于
[]
应该做什么的文档?我得到了redux样本,并计算出它可以解开歧视工会。问题是,我将操作定义为一个有区别的联合,但redux不允许将对象文本以外的任何内容作为操作传递,因此有区别的联合不能作为操作

那么下面的类型

[<Pojo>]
type TodoAction =
    | EditTodo of id:int * text:string
    | ClearCompleted

console.log(EditTodo(22,"Hello World"))
console.log(ClearCompleted)
对象文字有一个“type”属性(在redux中需要这个属性)是幸运的“意外”吗

如果没有Pojo,它将是:

console.log(new TodoAction("EditTodo", [22, "Hello World"]));
console.log(new TodoAction("ClearCompleted", []));
如果您尝试将其存储在store.dispatch中,则无法执行此操作,因为操作只能是对象文字(具有“type”属性)

因此,尝试从一个工作示例进行逆向工程是很有趣的,但拥有一份说明其工作原理的文档则更有趣

有这样的事吗

在根源目录中使用grep获得以下文件:./src/fable/fable.Core/fable.Core.fs

与:

但互动文档并没有更多关于其功能的信息。我将尝试更多地使用它,看看是否可以将该值用作并集,或者它是否已经展开

如果寓言的创作者/贡献者碰巧读到了这篇文章;谢谢你,这是一个好主意,如果需要的话,我很乐意贡献

所以问题是:文档在哪里?如果没有这样的东西,那么我们如何创建它?我很想写一些,但只是猜测大部分寓言编译器是如何工作的

如果出现以下错误:

错误FSHARP:未定义类型“Pojo”

请确保导入Fable.core.dll并打开它:

#r "./node_modules/fable-core/Fable.Core.dll"
open Fable.Core

我最近发现的最好的指南之一是

顺便提一下,属性
[]
适用于F#记录,并确保它们编译为javascript对象文本(普通的旧javascript对象)。显然,对这样一个对象的转换并不是记录的默认行为,这看起来很奇怪

/// Compile a record as a JS object literals.
/// More info: http://fable.io/docs/interacting.html
type PojoAttribute() =
    inherit Attribute()
#r "./node_modules/fable-core/Fable.Core.dll"
open Fable.Core