创建DragDropContext时,元素类型无效

时间:2017-12-05 20:42:00

标签: javascript reactjs react-dnd

鉴于以下内容......

    global main
    extern printf
    extern scanf

section .data

numberFormat:   db '%d', 10, 0

section .text

  main:

    push rbp        
    mov r8, 2       

  loop:

    add r8, 1
    mov rdi, numberFormat
    mov rsi, r8
    mov rax, 0
    call printf

    cmp r8, 15
    jl loop

    mov rax, 0      ; normal exit
    ret

我明白了......

  

警告:React.createElement:type不应为null,未定义,   布尔值或数字。它应该是一个字符串(对于DOM元素)或a   ReactClass(用于复合组件)。检查渲染方法   var root2 = <div />; var AppDnD = ReactDnD.DragDropContext(ReactDnDMultiBackend.default(RDMBHTML5toTouch.default))(root2); ReactDOM.render(root2, document.getElementById('content'));

和...

  

未捕获错误:元素类型无效:需要一个字符串(for   内置组件)或类/函数(用于复合组件)   但得到了:对象。检查渲染方法   DragDropContext(Component)

警告中提到的null似乎是以下生成代码的结果......

DragDropContext(Component)

我该如何解决这个问题?

Javascript何时变得如此复杂?

图书馆是基础......

React.createElement(AppDnD, null)

1 个答案:

答案 0 :(得分:1)

DragDropContext想要一个组件而不是一个元素。

因此,例如,给定......

class MyComponent extends React.Component {

    render() {

        return (<div />);
    }
};

而不是......

var root2 = <MyComponent/>;

var AppDnD = ReactDnD.DragDropContext(ReactDnDMultiBackend.default(RDMBHTML5toTouch.default))(root2);

ReactDOM.render(root2, document.getElementById('content'));

......一个人......

var AppDnD = ReactDnD.DragDropContext(ReactDnDMultiBackend.default(RDMBHTML5toTouch.default))(MyComponent);

ReactDOM.render(<AppDnD />, document.getElementById('content'));