【问题标题】:Rescript Capitalised Component重新编写大写组件
【发布时间】:2020-12-19 08:09:29
【问题描述】:

Rescript Documentation 中,建议可以使用 spread 来将预先存在的列表传递给组件。我对 Rescript 中的 MyComponent 到底是什么感到困惑,因为我找不到初始化组件的方法,这可以通过 vanilla React 中的函数来完成。

<MyComponent>...myChild</MyComponent>

在哪里myChild = list{child1,child2}

多次尝试后,以下不起作用

  • @JSX div(~children=myChild) ,因为 Rescript 要求将其包装在一个列表中,如 list{myChild}
  • @JSX div(~children=list{myChild}),给出类型错误
  • 初始化一个名为 MyComponent 的模块,然后执行&lt;MyComponent&gt; ...myChild &lt;/MyComponent&gt;,但这会给出错误The value make can't be found in MyComponent
  • 使用大写转义初始化函数:let \"MyComponent" = () =&gt; ...,但这会产生错误The module or file MyComponent can't be found.

我想要的是组件MyComponent 的初始化示例,它可以用作&lt;MyComponent&gt;...myChild&lt;/MyComponent&gt; 之类的大写标签。提前谢谢你。

【问题讨论】:

    标签: reason rescript


    【解决方案1】:
    module MyComponent = {
     @react.component
     let make = (~children: list<React.element>) => {
       <div> {Belt.List.toArray(children)->React.array} </div>
     }
    }
    

    来自Rescript Forum

    【讨论】:

      猜你喜欢
      • 2020-12-02
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      • 2016-07-22
      • 2019-08-22
      • 1970-01-01
      • 1970-01-01
      • 2014-01-08
      相关资源
      最近更新 更多