ProgramingTip

ReferenceError : React가 정의되지 않은 것

bestdevel 2020. 12. 6. 21:53
반응형

ReferenceError : React가 정의되지 않은 것


튜토리얼을 사용하여 ReactJS가 레일과 함께 작동하도록 노력하고 있습니다. 이 오류가 발생합니다.


Uncaught ReferenceError: React is not defined

하지만 난 브라우저 콘솔에서 객체 반응에 액세스 할 수 있습니다. I도 추가 공개 / DIST / 터보 react.min.js 설명 된대로 여기에 추가 설명 application.js 라인을 이 답변에 행운을. 또한 오류를 제공합니다.여기에 이미지 설명 입력
//= require components
var React = require('react')
Uncaught ReferenceError: require is not defined

누구 든지이 문제를 해결하는 방법을 제안 할 수 있습니까?

[편집 1]
참조 용 소스 코드 :이
comments.js.jsx파일입니다.

var Comment = React.createClass({
  render: function () {
    return (
      <div className="comment">
        <h2 className="commentAuthor">
          {this.props.author}
        </h2>
          {this.props.comment}
      </div>
      );
  }
});

var ready = function () {
  React.renderComponent(
    <Comment author="Richard" comment="This is a comment "/>,
    document.getElementById('comments')
  );
};

$(document).ready(ready);

그리고이 내 index.html.erb:

<div id="comments"></div>

webpack을 사용하여 다음 청크로 내 자바 펼쳐를 빌드 할 때이 오류를 재현 할 수 있습니다 webpack.config.json.

externals: {
    'react': 'React'
},

위의 구성은 웹팩이 require('react')npm 모듈을로드하여 해결하지 않고 대신라는 전역 변수 (즉, window선언에서) 기대 합니다 React. 해결은이 구성 부분을 제거하거나 (React가 자바 서비스와 함께 제공됨)이 파일이 실행되기 전에 React 프레임 워크를 외부에서로드 하기 위해 입니다 window.React.


내가 사용했기 때문에 오류가 발생했습니다.

import ReactDOM from 'react-dom'

반응을 가져 오지 않고 아래로 변경하면 :

import React from 'react';
import ReactDOM from 'react-dom';

오류가 해결되었습니다. :)


가능한 이유는 1. 페이지에 React.JS를로드하지 않았고, 2. 페이지에 위의 계속로드했습니다. 도전은 위에 펼쳐지는 것입니다.

추신

가능한 해결책.

  1. reactwebpack 구성 내부의 externals 섹션에서 언급 경우 먼저 react js 파일을 html로 직접로드해야합니다.bundle.js
  2. 라인이 있는지 확인하십시오 import React from 'react';

Webpack을 사용하는 경우 require코드 에 명시 적으로 추가하지 않고도 필요할 때 React를로드하도록 할 수 있습니다 .

webpack.config.js에 추가하십시오 .

plugins: [
   new webpack.ProvidePlugin({
      "React": "react",
   }),
],

http://webpack.github.io/docs/shimming-modules.html#plugin-provideplugin을 참조하십시오 .


Santosh에 추가 :

React를로드 할 수 있습니다.

import React from 'react'

import React, { Component, PropTypes } from 'react';

이것은 또한 작동 할 수 있습니다!


더하다

import React from 'react'
import { render } from 'react-dom'
window.React = React

렌더링 전 기능

이것은 React가 정의되지 않았다는 오류가 발생하기 때문입니다.

창에 반응을 추가하면 이러한 문제를 해결할 수 있습니다.


내 코드 react.createClass에서 대문자 대신 소문자로 구성 요소 정의를 잘못 입력했기 때문에이 오류가 발생했습니다 React.createClass.


표시된 오류

수입 후 반응

마지막으로 react-dom 가져 오기 오기

오류가 반응이 정의되지 않은 경우 추가하십시오 ==>import React from 'react';

ReactDOM이 정의되지 않은 경우 ==> 추가하십시오.import ReactDOM from 'react-dom';

참고 URL : https://stackoverflow.com/questions/32070303/uncaught-referenceerror-react-is-not-defined

반응형