首先,我希望这不是重复 - 我正在使用ES6,而不是常规extends React.Component
。
这是我的Layout
组件。我正在将此app.js
实现为import Layout from './components/Layout';
,而控制台正在抛出错误:
React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components). Check the render method of "Layout".
const Layout = (props) => {
let { location } = props;
return (
<div>
<Nav location={location} />
<main>
</main>
</div>
);
};
export default Layout;
有什么问题?这是React / Redux env。
答案 0 :(得分:0)
如docs所示,您的export
声明可能错误:
请注意,不能将var,let或const用于导出默认值。
尝试更改
export default Layout;
到
export { Layout as default };
答案 1 :(得分:0)
错误说Check the render method of "Layout".
这是一个很好的暗示,错误不是来自app.js
,而是来自Layout
组件。可能是你导入Nav
的方式。如果您的import语句如下所示:
import Nav from "/path/to/Nav";
尝试将其更改为:
import { Nav } from "/path/to/Nav";
进一步说明:使用default
导出可让您在导入时省略花括号。
// if Nav component export looks like this:
export default Nav;
// OR
export { Nav as default };
// import it as such:
import Nav from "/path/to/Nav";
// if Nav component export looks like this:
module.exports = { Nav };
// import it as such:
import { Nav } from "/path/to/Nav";
如果使用错误的导入方法,则会出现错误React.createElement: type should not be null[...]
(取决于模块是否导出default
)。