新手React =>元素类型无效:期望一个字符串

时间:2016-06-29 23:09:02

标签: javascript reactjs typescript

当我尝试将React应用程序的基础知识加载到浏览器中时,我会围绕以下内容进行讨论。

  

元素类型无效:需要一个字符串(用于内置组件)   或类/函数(对于复合组件)但得到:undefined。

代码如下(test.tsx)

    /// <reference path="./typings/tsd.d.ts" />

    import * as React from "react";
    import * as ReactDOM from 'react-dom'


    ReactDOM.render(
            <TodoApp name="jim"/>, document.getElementById('root')
    );

    class TodoApp extends React.Component<any, any>{
        constructor(props) {super(props); this.state = {};}

        render() {
            return (
                <div>
                    <button>hit me</button>
                </div>
            )
        }
    }

export default TodoApp;

的test.html

<html>
    <body>
    <div id="root"></div>
    <script src="./bundle.js"></script>      
    </body>
</html>

tsx与Browserify一起编译并捆绑在一起,并且bundle.js中出现错误

具体来说是@ instantiateReactComponent(node)&amp;不变函数

非常感谢提前!!

1 个答案:

答案 0 :(得分:3)

您正在调用render并在定义之前传入一个组件。

// won't work!
var person = new Person() <-- undefined
class Person {}

// will work
class Person {}
var person = new Person()

类不会像函数一样被“提升”。