2016-06-29 2 views
2

Я собираюсь в кругах со следующим при попытке загрузить основы приложения React в браузер.Newbie to React => Тип элемента недействителен: ожидается строка

Тип элемента недействителен: ожидается строка (для встроенных компонентов) или класс/функция (для составных компонентов), но получил не определено.

Код выглядит следующим образом (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 и ошибка встречающийся в пучке. js

специфически @ instantiateReactComponent (узел) & инвариантная функция

Большое спасибо заранее!

ответ

3

Вы звоните render и передаете компонент, прежде чем определили его.

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

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

Классы не получают «подъемные» функции.

Смежные вопросы