2016-07-04 3 views
4

Coffeescript 및 Node에 반응하여 간단한 구성 요소를 만들려고합니다. 그러나,이 오류를 다시 던지는 유지 :정의되지 않은 '__reactAutoBindPairs'속성을 읽을 수 없습니다. React.js

index.coffee :

express = require('express') 
JSX  = require('node-jsx').install() 
React = require('react') 
TestApp = require('../components/Test.react') 
router = express.Router() 

# home page 
router.get '/', (req, res, next) -> 
    React.renderComponent (TestApp {}), document.getElementById('test') 
    res.render 'index', title: 'Example' 

module.exports = router 

Test.react.coffee :

React = require('react') 

TestApp = React.createClass 
    render: -> 
     p "Hello!" 

module.exports = TestApp 

인덱스

Cannot read property '__reactAutoBindPairs' of undefined 

여기에 내 코드입니다. 옥

extends layout 

block content 
    h1= title 
    #test 
    p Welcome to #{title} 

도움을 주시면 감사하겠습니다. 감사!

답변

2

난 당신이 몇 가지 일을 할 필요가 있다고 생각 :

  1. 가 ReactDOM 패키지 (npm install react-dom)를 설치합니다.
  2. ReactDOM 필요.
  3. 구성 요소에 대한 require() 문을 React.createFactory()으로 묶습니다.
  4. React.renderComponent() 대신 ReactDOM.render()으로 구성 요소를 렌더링하십시오.

관찰 :

express = require('express') 
JSX  = require('node-jsx').install() 
React = require('react') 
ReactDOM = require('react-dom') 
TestApp = React.createFactory(require('../components/Test.react')) 
router = express.Router() 

# home page 
router.get '/', (req, res, next) -> 
    ReactDOM.render (TestApp {}), document.getElementById('test') 
    res.render 'index', title: 'Example' 

module.exports = router 

는 설명 the React blog를 참조하십시오.

+0

3 번은 매우 중요한 단계입니다. 나는 그것을 사용하지 않고 코드를 수정 한 후에 앱이 작동했다. +1 그 :) –

관련 문제