0

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 的模块,然后执行<MyComponent> ...myChild </MyComponent>,但这给出了错误The value make can't be found in MyComponent
  • 使用大写转义初始化函数:let \"MyComponent" = () => ...,但这会产生错误The module or file MyComponent can't be found.

我想要的是一个组件初始化的例子,MyComponent它可以用作一个大写的标签,比如<MyComponent>...myChild</MyComponent>. 先感谢您。

4

1 回答 1

2
module MyComponent = {
 @react.component
 let make = (~children: list<React.element>) => {
   <div> {Belt.List.toArray(children)->React.array} </div>
 }
}

来自Rescript 论坛

于 2020-12-19T00:09:29.447 回答