当我遇到一个奇怪的错误 Uncaught TypeError: inst.render is not a function
时,我正在使用 React 和 ReactDOM 展示一个非常基本的 Hello World。在这个 JSBin 中看到它。
我用过很多 React,但对 ES6 来说是新的。有什么我在这里看不到的想法吗?
该错误似乎是说 Hello
没有 render
方法,但我不确定。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<script src="
https://cdnjs.cloudflare.com/ajax/libs/redux/3.0.4/redux.js" type="text/javascript"></script>
<script src="https://fb.me/react-0.14.0.js"></script>
<script src="https://fb.me/react-dom-0.14.0.js"></script>
</head>
<body>
<div id="root"></div>
<script>
const Hello = () => {
<h1>Hi</h1>
};
const foo = () => {
ReactDOM.render(
<Hello />,
document.getElementById('root')
);
}
foo();
</script>
</body>
</html>
原文由 Don P 发布,翻译遵循 CC BY-SA 4.0 许可协议
原来的
要在 ES6 中使用 React,您需要继承
React.Component
类。请参阅 此处 的文档。
更新
您也可以在您的情况下使用
function
或arrow
。但是,您需要返回组件。注意缺少的花括号。在 ES6 中,不带花括号的 箭头函数 返回其主体表达式的结果。