从对象值渲染React元素
我想创建一个对象:
import React from "react";
import { Registration } from "../../";
const RouteObj = {
Registration: {
route: "/registration",
comp: <Registration />
}
};
export default RouteObj;
然后,在第二次文件调用中:
import React from 'react';
import RouteObj from ...
class Thing extends React.Component{
render() {
<RouteObj.Registration.comp />
}
}
尝试此操作时,出现错误:
React.createElement:类型无效 - 预期为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。 您可能忘记将组件从其定义的文件中导出。
是否有可能以这种方式呈现React组件?
Registration
已经是一个标签(一个组件),这就是为什么我猜你必须使用大括号。
import React from 'react';
import RouteObj from ...
class Thing extends React.Component{
render() {
<div>
{RouteObj.Registration.comp}
</div>
}
}
RouteObj
,作为默认导出。 因此,在声明RouteObj
之后添加:
export default RouteObj;
你正在尝试使用你没有输出的东西,正如错误所述。 因此它是不确定的。
RouteObj.comp
设置为Registration
,即组件类本身,而不是Registration
<Registration />
的实例。 所以,相反,这是comp
应该是:
comp: Registration
链接地址: http://www.djcxy.com/p/52185.html