2017-11-01 3 views
0

watchifybabelify을 사용하여 ReactJS에 대한 자습서를 따르십시오. 나는 [email protected] 버전을 사용하며 React.createReactClass은 (는) 사용되지 않습니다. Uncaught ReferenceError: createReactClass is not defined 오류를 제거하려면 임시 수정이 필요합니다.잡히지 않은 ReferenceError : createReactClass가 정의되지 않았습니다.

create-react-class 패키지를 설치했습니다.

{ 
    "main": "index.js", 
    "scripts": { 
    "build": "watchify src/app.js -o public/bundle.js -t [ babelify --presets [ react es2015 ] ]", 
    "server": "cd public; live-server --port=1234 --entry-file=index.html" 
    }, 
    "author": "", 
    "license": "ISC", 
    "dependencies": { 
    "babel-core": "^6.26.0", 
    "babel-loader": "^7.1.2", 
    "babel-preset-react": "^6.24.1", 
    "babelify": "^8.0.0", 
    "live-server": "^1.2.0", 
    "watchify": "^3.9.0" 
    }, 
    "devDependencies": { 
    "babel-preset-es2015": "^6.24.1", 
    "babel-preset-stage-3": "^6.24.1", 
    "create-react-class": "^15.6.2", 
    "react": "16.0.0", 
    "react-dom": "16.0.0", 
    "react-scripts": "1.0.16" 
    } 
} 

app.js 내가 createReactClass 작동 할 수있는 방법

const Sidebar = createReactClass({ 
    render(){ 
    let props = this.props; 

    return (<div className='sidebar'> 
     <h2> All Decks </h2> 
     <ul> 
     {props.decs.map((deck, i)=> 
     <li key={i}> {deck.name}</li> 
    )} 
     </ul> 
     { props.addingDeck && <input ref='add'/> } 
    </div>); 
    } 
}); 
ReactDOM.render(<App> 
    <Sidebar decks={[ { name: 'Deck 1' }]} addingDeck={false} /> 
</App>, document.getElementById('root')); 

입니다 : 내 package.json은? 감사합니다.

편집 : "var createReactClass = require('create-react-class');"을 (를) 사용하여 가져올 수 없습니다. 파일이 jsx 파일이 아닐 수 있습니다. 당신 반응에서 구성 요소 클래스를 확장 할 상태 구성 요소의

+0

'var에 createReactClass의 =이 필요합니다 ('생성 - 반응 - 클래스');' – str

+0

을 나는 그것이 NPM 실행 빌드를 나누기 것을 시도 . 그 스크립트가 없어도 작동합니다. – ytsejam

+1

어리석은 질문이지만, 의존 관계에 create-react-class를 추가했는지 확인 했습니까? – MEnf

답변

1

...

import React, {Component} from 'react' 
class Sidebar extends Component { 
    render(){ 
    let props = this.props; 

    return (<div className='sidebar'> 
     <h2> All Decks </h2> 
     <ul> 
     {props.decs.map((deck, i)=> 
     <li key={i}> {deck.name}</li> 
    )} 
     </ul> 
     { props.addingDeck && <input ref='add'/> } 
    </div>); 
    } 
}); 
ReactDOM.render(<App> 
    <Sidebar decks={[ { name: 'Deck 1' }]} addingDeck={false} /> 
</App>, document.getElementById('root')); 
+0

이것이 더 최신의 방법이지만, 나는 이것이 그가 물었던 질문에 대한 답을 확신 할 수 없다. – MEnf

+0

"Uncaught ReferenceError를 없애기 위해 임시 수정이 필요합니다 : createReactClass가 정의되지 않았습니다." 당신 말이 맞을지도 모릅니다 : D – Maxwelll

+0

나는 내 자신을 업데이트했는데, 제 튜토리얼은 오래되었다고 생각합니다. – ytsejam

관련 문제