是否有关于如何从F#/Fable编写React组件库的绑定(bind)的逐步指南?

我可以找到的唯一示例是fable-react-toolbox,它广泛使用了已弃用的KeyValueList属性。

我对使用BlueprintJS library特别感兴趣;我已经能够使用ts2fable生成与定义的各种props对应的接口(interface),但是不知道下一步该怎么做或在哪里寻求帮助!

任何指导将不胜感激!

麦可

最佳答案

如果您已经具有 Prop 作为界面,则可以使用Fable React Helpers为您创建组件。

假设您想从react-bar模块为Foo组件创建包装器(您已经将props提取到接口(interface)并称为IFooProps),那么编写的代码将类似于以下内容。

let Foo : ComponentClass<obj> = import "Foo" "react-bar"
let inline foo (props : IFooProps list) elems =
    Fable.Helpers.React.from Foo (keyValueList CaseRules.LowerFirst props) elems
ComponentClass类型可以在Fable.Import.React模块中找到。

有关此主题的有用讨论可以在GitHub问题https://github.com/fable-compiler/Fable/issues/1044中找到。

10-07 13:15