是否有关于如何从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中找到。