因此,我目前正在开发一个利用电子,反应,还原和其他技术的应用程序。 目前,我仅将电子,反应,电子编译和babel包括在该项目中。已安装Redux,但尚未真正配置。
因此,当我尝试加载该应用程序时,总是会收到一条错误消息:
index.js:26未捕获的ReferenceError:h未定义
因此,我在网上阅读了一些信息,发现有些使用预设的人也有类似的问题。他通过导入h解决了这个问题。 因此,经过一番思考,我从react-dom中导入了h,的确,我得到了不同的错误消息。
未捕获的TypeError:(0,_reactDom.h)不是函数
ESLint没有显示关于h尚未解决的任何错误,因此它似乎存在,但是尽管如此,我还是被困在这里,因为我似乎找不到他的来历
index.js
import React from 'react';
import { render, h } from 'react-dom';
import {Demopage} from './demopage'};
render(<Demopage />, document.getElementById('root'));
我的index.html上有一个ID为root的div。然后调用index.js作为脚本。
demopage.js
import React, { Component } from 'react';
class Startpage extends Component {
constructor(){
super();
}
render(){
return(
<h1>Demopage</h1>
);
}
}
export default Startpage;
所以我希望电子显示一个显示Demopage的h1标签,但我只会收到错误消息和白色屏幕。
亲切的问候, 佛罗多先生
答案 0 :(得分:1)
从h
导入中删除react-dom
import { render } from 'react-dom';
答案 1 :(得分:0)
我最终选择了包裹,因为与Babel 7一起安装和使用并不困难。 我认为错误是由于Babel将我的反应内容转译为预先执行的,但仍不确定。
答案 2 :(得分:0)
我不知道您是否还在寻找解决方案。如果您(或其他人)是,则可能需要查看.babelrc文件(位于项目文件夹的根目录)。它的内容应该是这样的-
{
"presets": ["@babel/preset-env", "@babel/preset-react"]
}
最初,我遇到类似的错误消息,因为我的项目是为Preact设置的,并且其.babelrc包含对@ babel / plugin-transform-react-jsx的引用-似乎仅对Preact项目有效。>
让我知道上面的代码片段是否可以解决您的问题。祝你好运!