2016/09/08

React.render is not a function

今更ながら React を使い始めました。 しかし、サンプルを動作させようとしたところ、render function が無いとエラーが発生。

Uncaught TypeError: React.render is not a function

エラーが発生したコード

1
2
3
4
5
6
7
8
9
var React = require('react')
 
var App = React.createClass({
   render: function(){
       return <h1>Hello, world.</h1>
   }
})
 
React.render(<app>, document.getElementById('react-app'))

14.0 から仕様が変わったらしい

調べてみると、14.0 以降、render function は react-dom に移動したとのこと。

参考

javascript - Error with basic React Example: Uncaught TypeError: undefined is not a function - Stack Overflow

修正方法

というわけで、react-dom も別途 require する必要があります。 その前に、react-dom をインストールするのを忘れないようにしましょう。

$ npm install --save react-dom

以下が修正後のコードです。

1
2
3
4
5
6
7
8
9
10
var React = require('react')
var ReactDOM = require('react-dom')
 
var App = React.createClass({
   render: function(){
       return <h1>Hello, world.</h1>
   }
})
 
ReactDOM.render(<app>, document.getElementById('react-app'))

0 件のコメント: