1

我正在尝试在 ReasonReact 项目中使用可排序列表组件react-sortable-hoc) 。但是我遇到了一个错误,我花了几个小时试图弄清楚。

我遵循的步骤:

  • 使@bs 为sortableContainer()模块sortableElement()绑定react-sortable-hoc
  • 伪造这两个函数返回的 reactClass 并将其放在文件SortableContainer.jsSortableElement.js
  • 制作了另一个名为 Todolist 的 React 组件,它使用组件 SortableContainer,而 SortableContainer 使用组件 SortableElement。

代码片段

/* SortableContainer.re */

[@bs.val] [@bs.module "react-sortable-hoc"] 外部 sortableContainer : 'a =>
ReasonReact.reactClass = "";

让 sortableContainerReactClass: ReasonReact.reactClass = sortableContainer(() => {
  
    (ReasonReact.createElement(SortableElement))
}); 让make =(孩子)=> ReasonReact.wrapJsForReason( ~reactClass=sortableContainerReactClass, ~props = { "onSortEnd": () => {} }, 孩子们 );
/* 可排序元素.re */

[@bs.val] [@bs.module "react-sortable-hoc"] 外部 sortableElement : 'a =>
ReasonReact.reactClass = "";

让 sortableElementReactClass: ReasonReact.reactClass = sortableElement(() => {
  
  • (ReasonReact.stringToElement("测试很好"))
  • }); 让make =(孩子)=> ReasonReact.wrapJsForReason( ~reactClass=sortableElementReactClass, ~props = { "onSortEnd": () => {} }, 孩子们 );
    /* 列表.re */
    
    let component = ReasonReact.statelessComponent("List");
    
    
    让 make = (~items=[||], _children) => {
      {
        ...零件,
        渲染:(_self)=> {
          
            
          
        }
      }
    };
    
    

    当我编译这段代码时,我得到了这个错误。

    # 错误
    
    我们为您发现了一个错误!
      /Users/jaisonjustus/code/todotabre/src/components/SortableContainer.re 5:34-48
    
      3 │
      4│让sortableContainerReactClass:ReasonReact.reactClass = sortableConta
          内(()=> {
      5│   
      (ReasonReact.createElement(SortableElement))
    6 │ }); 7│ 找不到变体构造函数 SortableElement。 - 如果它是在另一个模块或文件中定义的,请通过以下方式将其纳入范围: - 用所述模块名称对其进行注释:let food = MyModule.Apple - 或者指定它的类型:let food: MyModule.fruit = Apple - 构造函数和模块都是大写的。你想要后者吗? 然后不要让 foo = Bar,而是尝试模块 Foo = Bar。

    这段代码有什么问题?

    4

    0 回答 0