开发ReactJS组件时遇到一个奇怪的问题,一切正常,但是当我尝试在ContentBody中渲染UserPage组件时,出现此错误
react.js:18798警告:React.createElement:类型不能为null,
未定义,布尔值或数字。它应该是一个字符串(对于DOM
元素)或ReactClass(用于复合组件)。
user.jsx组件
import Link from ‘react’
export default class UserPage extends React.Component {
function render() {
return(
<UserList />
);
}
}
class UserList extends React.Component {
function render() {
return(
{/* jsx code */}
);
}
}
class User extends React.Component {
function render() {
return(
<tr>
<td>{user.name}</td>
<td>{user.email}</td>
<td>{user.createdAt}</td>
<td>{user.updatedAt}</td>
<td>
<Link to="/api/user/delete">Delete</Link>
</td>
</tr>
);
}
}
##########################################
content-body.jsx file
/*————————————–-----------------*/
import UserPage from ‘./page/user.jsx’;
export default class ContentBody extends React.Component {
constructor(props) {
super(props)
this.state = {data: []};
}
render() {
return(
{/* This should be dynamic and replaced with Router */}
);
}
}
它仍然会抛出该错误,不确定我在这里做错了什么吗?
更新资料
我可以通过正确导入链接来解决此问题,因为链接不是导出默认链接,因此应将其导入为
import {Link} from 'react'
最佳答案
react
软件包的默认导出不是Link
,因此必须显式导入Link
。
import { Link } from "react";
如果您不想这样做,请导入所有
react
:import * as React from "react";
然后正确引用
Link
:<React.Link to="/api/user/delete">Delete</React.Link>
关于javascript - ES6 ReactJS警告:React.createElement:类型不能为null,undefined,boolean或number,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40064972/