programing

_reactDom2.default.render는 함수가 아닙니다.

sourcejob 2023. 4. 4. 21:14
반응형

_reactDom2.default.render는 함수가 아닙니다.

다음 리액트 코드를 고려하다

main.filename 파일은 다음과 같습니다.

import React from 'react';
import ReactDOM from 'react-dom';
import Maincontainner from './maincontainner';

ReactDOM.render(
    <div>
        <h1>News</h1>
        <Maincontainner/>
    </div>,
    document.getElementById('content')
);

컴포넌트는 다음과 같습니다.

import React from 'react';


export default class  Maincontainner extends React.Component{

    render() {
        console.log("I am here");
        return (<dev> Salman is here </dev>);
    }
}

문제는 응용 프로그램을 실행할 때 콘솔에 다음과 같은 오류가 발생한다는 것입니다.

Uncaught TypeError: _reactDom2.default.render is not a function

그리고 여기 의존관계가 있습니다.

"dependencies": {
    "webpack": "^1.12.14",
    "webpack-dev-server": "^1.14.1",
    "react" : "^0.14.7",
    "react-dom" : "^0.14.7",
    "babel-cli": "^6.5.1",
    "babel-preset-es2015": "^6.5.0",
    "babel-loader": "^6.2.1",
    "babel-preset-react": "^6.3.13",
    "babelify": "^7.2.0"


  }

업데이트: webpack.config.json

module.exports={

    entry: './js/main.js',
    output:{

        filename: 'bundle.js'
    },
    module: {
        loaders: [
            {
                test: /.js?$/,
                loader: 'babel',
                exclude: /node_modules/,
                query: {
                    presets: ['es2015', 'react']
                }
            }
        ]
    },
    devServer:{


        port:3000
    }





};

.babelrc 파일도 1개 가지고 있습니다.

{
  "presets": ["es2015", "react"]
}

자신의 데이터를 변경할 수 있는 것이 있습니다.Maincontainner요소.

  1. 맨 위에 추가:import ReactDOM from 'react-dom';
  2. 바꾸다render로.ReactDOM.render

처음에는 이걸 하고 있었어요.

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

그리고 곧 제가 무엇을 잘못하고 있는지 깨닫고 위와 같은 내용을 업데이트하였습니다.

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

도움이 됐으면 좋겠다.

react 및 react-dom을 "^15.2.1"로 업데이트하는 것이 좋습니다.도움이 되길 바랍니다.

버전 업데이트 시 이 오류를 해결했습니다.아마도요._reactDom2.default.render is not a function때문에 을 의미하다ReactDOM없다render기능.

"dependencies": {
  "react" : "^0.14.7",
  "react-dom" : "^0.14.7"
}

대상:

"dependencies": {
  "react": "^16.5.2",
  "react-dom": "^16.5.2"
}

내가 이 사고방식을 사용한 튜토리얼 중 몇 가지는 잘 작동하는 것 같다.

'use strict';

import React, { Component } from 'react';
import { render } from 'react-dom';

class Pokemon extends Component{
    render() {
        const { pokemon, id } = this.props;
        return (
            <div className="pokemon--species">..</div>
        );
    }
}


render(
    <div className="myDiv">Hello Electron!</div>,
    document.getElementById('content')
);

이게 도움이 되길...때로는 모든 종속성, 변환 및 구성으로 인해 이러한 작업이 다소 부담스러울 수 있습니다 -_-

내 경우 {react에서 reactDOM 가져오기}라고 적었습니다. 당연히 react-dom을 사용했어야 했습니다.

제 경우 문제는 다음과 같습니다.

import render from "react-dom"; 

import { render } from "react-dom";

두 번째 방법으로 해야 했습니다.그렇지 않으면 오류가 발생했습니다.이 두 가지 모두 유효한 것 같기 때문에 이유를 알고 싶습니다.

가져오기 스타일을 다음으로 변경합니다.

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

ReactDOM.render(
  <div>
     <App />
  </div>,
  document.getElementById('root')
);
ReactDOM.render(
        <React.StrictMode>
          <App />
        </React.StrictMode>,
        document.getElementById('root')
      );

렌더라는 단어에 문제가 있어서 이 솔루션이 도움이 되었습니다.

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

언급URL : https://stackoverflow.com/questions/36376146/reactdom2-default-render-is-not-a-function

반응형