gpt4 book ai didi

javascript - Reactjs控制台错误: 'Components object is deprectated' & 'ReferenceError: require is not defined'

转载 作者:行者123 更新时间:2023-12-03 00:04:02 25 4
gpt4 key购买 nike

我正在尝试使用 jsx 和类创建一个简单的 hello world 程序来在我的浏览器(firefox)中打印“Hello world”。我可以让单个页面 [html withEmbedded jsx][1] 工作。但当我尝试使用类时却不是这样。

我在控制台输出中收到以下内容

Download the React DevTools for a better development experience: https://fb .me/react-devtools
You might need to use a local HTTP server (instead of file://): https://fb .me/react-devtools-faq react-dom.development.js:21347:9
unreachable code after return statement[Learn More]
babel.js:61389:2
You are using the in-browser Babel transformer. Be sure to precompile your scripts for production - https://babeljs.io/docs/setup/ babel.js:61666:4

The Components object is deprecated. It will soon be removed. index.html
ReferenceError: require is not defined[Learn More]

<anonymous> file:///Users/Jacob/temp/index.html:5
run https://unpkg.com/babel-standalone@6.26.0/babel.js:61531
check https://unpkg.com/babel-standalone@6.26.0/babel.js:61597
loadScripts https://unpkg.com/babel-standalone@6.26.0/babel.js:61624
onreadystatechange https://unpkg.com/babel-standalone@6.26.0/babel.js:61549
<小时/>

jsx/index.jsx

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

class NavBar extends React.Component {

render() {
return (
<div>
Hello world
</div>
);
}
}

ReactDOM.render(<NavBar />, document.querySelector('#root'))
<小时/>

index.html

<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>

<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>
<script src="https://unpkg.com/babel-standalone@6.26.0/babel.js"></script>
<!--
<script data-main="scripts/main" src="https://requirejs.org/docs/release/2.3.6/minified/require.js"></script> #caused other errors
-->
<meta charset="utf-8" name="viewport" content="user-scalable=no, width=device-width" />
</head>

<body>
<div id="root"></div>
<script type='text/babel' src='jsx/index.js'></script>

</body>
</html>

最佳答案

在 Firefox 中快速解决您的问题的方法是将 jsx/index.jsx 更改为

class NavBar extends React.Component {

render() {
return (
<div>
Hello world
</div>
);
}
}

ReactDOM.render(<NavBar />, document.querySelector('#root'))

即删除'import'

浏览this用于 babel-standalone 的 babel 用法。

由于您使用的是 babel-standalone,因此最好将代码更改为

<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>

<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>
<script src="https://unpkg.com/babel-standalone@6.26.0/babel.js"></script>
<!--
<script data-main="scripts/main" src="https://requirejs.org/docs/release/2.3.6/minified/require.js"></script> #caused other errors
-->
<meta charset="utf-8" name="viewport" content="user-scalable=no, width=device-width" />
</head>

<body>
<div id="root"></div>
<script type='text/babel'>
class NavBar extends React.Component {
render() {
return (
<div>
Hello world
</div>
);
}
}

ReactDOM.render(<NavBar />, document.querySelector('#root'))
</script>

</body>
</html>

关于javascript - Reactjs控制台错误: 'Components object is deprectated' & 'ReferenceError: require is not defined' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55045824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com