我是Web开发的新手,这只是我用来测试安装的新文本编辑器而创建的简单代码,尝试导入react时出现此错误,因为我遇到了其他一些错误,例如; TypeError:无法读取未定义的属性'createElement'
请,我该如何解决?导入语句有误吗?
import React, { Fragment } from 'react';
console.log("Testing");
var document;//made this declaration because I got a document undefined error
document.createElement("p"):
const p = document.createElement("p")
p.innerHTML = "This is to test the javascript";
const body = document.querySelector("body");
body.insertBefore(p,body.childNode[-1]);
<!DOCTYPE html>
<html>
<head>
<title>Testing vs code</title>
<link rel="stylesheet" type="text/css" href="styles.css"/>
</head>
<body>
<h1>Testing the vscode html preview package</h1>
<h2>Hello</h2>
<script type="module" src="js-prac.js"></script>
</body>
</html>
答案 0 :(得分:0)
根据https://reactjs.org/docs/add-react-to-a-website.html,您需要在导入脚本之前将这两行添加到HTML文件中:
<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>
我不确定,如果不使用诸如Create React App之类的模块,模块加载就可以按照您的预期进行。您可以删除导入语句,并且仍然可以在脚本中引用React和ReactDOM。
例如
'use strict';
const e = React.createElement;
class LikeButton extends React.Component {
constructor(props) {
super(props);
this.state = { liked: false };
}
render() {
if (this.state.liked) {
return 'You liked comment number ' + this.props.commentID;
}
return e(
'button',
{ onClick: () => this.setState({ liked: true }) },
'Like'
);
}
}
// Find all DOM containers, and render Like buttons into them.
document.querySelectorAll('.like_button_container')
.forEach(domContainer => {
// Read the comment ID from a data-* attribute.
const commentID = parseInt(domContainer.dataset.commentid, 10);
ReactDOM.render(
e(LikeButton, { commentID: commentID }),
domContainer
);
});
答案 1 :(得分:0)
我了解您想使用React创建一个简单的应用程序。我建议您先阅读此https://kentcdodds.com/blog/how-to-react,然后再阅读:https://reactjs.org/tutorial/tutorial.html
可以通过在开始时导入脚本来创建React应用程序,但这不是构建React应用程序的推荐方法。
阅读完以上文章后,可以在所选博客或基于视频的平台上找到一个不错的教程。我可以举几个例子,例如udemy,前端大师,复数形式,还有更多。
答案 2 :(得分:0)
您应该使用 Node package manager 创建React应用
npx create-react-app appName
或应将react脚本链接到您的html
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
您也无法重新定义文档对象。这引用了您的网页,您可以使用文档对象访问元素或DOM(文档对象模型)。