itsource

"정의되지 않은 속성 'createElement'를 읽을 수 없습니다" 오류를 나타내는 JSX 파일 반응

mycopycode 2023. 3. 28. 21:46
반응형

"정의되지 않은 속성 'createElement'를 읽을 수 없습니다" 오류를 나타내는 JSX 파일 반응

실행 중인 test_stuff.js 파일이 있습니다.npm test

거의 다음과 같습니다.

import { assert } from 'assert';
import { MyProvider } from '../src/index';
import { React } from 'react';

const myProvider = (
  <MyProvider>
  </MyProvider>
);

describe('Array', function() {
  describe('#indexOf()', function() {
    it('should return -1 when the value is not present', function() {
      assert.equal(-1, [1,2,3].indexOf(4));
    });
  });
});

안타깝게도 오류가 발생함

/Users/me/projects/myproj/test/test_stuff.js:11
var myProvider = _react.React.createElement(_index.MyProvider, null);
                             ^

TypeError: Cannot read property 'createElement' of undefined
    at Object.<anonymous> (/Users/me/projects/myproj/test/test_stuff.js:7:7)

그게 무슨 의미죠?리액트에서 리액트를 정상적으로 Import하고 있는데 리액트가 정의되지 않은 이유는 무엇입니까?이것은 _react입니다.반응해, 그게 무슨 의미든 간에...

React do를 가져오려면import React from 'react'Import하는 항목이 해당 모듈 또는 파일의 기본 내보내기가 아닌 경우 괄호를 추가합니다.반응의 경우 기본 내보내기입니다.

이는 정의한 방법에 따라 다른 가져오기에 적용될 수 있습니다.

import React, { Component } from 'react'

이건 나한테 효과가 있었어.하지만 왜 그것이 이 문제에 대한 제 버전을 수정했는지 잘 모르겠습니다.따라서 이 문제를 우연히 발견한 사용자가 create-react-app을 시작 보일러 플레이트로 사용하는 경우 React를 Import하는 이 방법이 효과적입니다.(18년 10월 현재)

작업자용 리액트 리액션JS(TypeScript 포함)

import * as React from 'react';

이 오류는 부주의로 인해 나에게 일어났다.사실...

import React from 'react';

괄호는 다음과 같은 이름 있는 내보내기용입니다.

import React, { useState, useEffect } from 'react';

React from react를 Import할 때 이 문제가 발생하였고, 저는 그것을 곱슬곱슬한 괄호 안에 넣었습니다.

다음을 수행하십시오.

import React, {useState} from "react";

대신:

import {React, useState} from "react";

디스트럭터를 사용하여 React 개체를 가져오려고 하면 다음과 같은 문제가 발생할 수 있습니다.import {React} from 'react';이것이 위의 코드를 실행하는 시간의 90%가 오류의 원인일 수 있습니다.

사용방법:import React from 'react';

그런 다음 React를 통해 React 클래스의 모든 멤버에 액세스할 수 있습니다.

변경 사항: 'react'에서 {React }을(를) 가져오려면 'react'에서 {React }을(를) 가져오십시오. React는 기본 내보내기이므로 기본 내보내기에는 물결 괄호가 필요하지 않습니다.

'react'에서 여러 클래스를 Import해야 하는 경우 React 이외의 클래스에 대한 별칭을 가질 수 있습니다.뭐랄까...

import React, * as react from 'react';

React이 모듈에서는 기본적으로 내보냅니다. {}은(는) 필요 없습니다.

유닛 테스트 시 컴포넌트를 모킹하려고 했는데 올바르게 설정되지 않았습니다.

이 에러의 원인은, 다음과 같습니다.

jest.mock("./SomeComponent", () => {
    return <div>MockSomeComponent</div>
});

필요한 것:

jest.mock("./SomeComponent", () => {
    return () => <div>MockSomeComponent</div>
});

부주의로 인해 이 오류가 발생할 수 있습니다.추가해주세요

import React from 'react'

그 후에 해결된다

언급URL : https://stackoverflow.com/questions/39423054/react-jsx-file-giving-error-cannot-read-property-createelement-of-undefined

반응형