【发布时间】:2018-05-23 21:16:52
【问题描述】:
所以,我想以后有空,想做一个动态生成的页面。出于这个原因,我想从一个对象中读取组件数据,如下所示:
layout: {
toolbar: {
components: [
{
type: "Testcomp",
theme: "default",
data: "div1"
},
{
type: "Testcomp",
theme: "pro",
data: "div2"
},
]}}
组件将被动态导入、启用/激活,除此之外,这是应该动态呈现组件的 jsx 代码:
render() {
const toolbarComponents = userSession.layout.toolbar.components.map(Component => (
<Component.type theme={Component.theme} data={Component.data} key={this.getKey()} />
));
return (
<div>
<div className="toolbar">
toolbar
{toolbarComponents}
</div>
. . .
</div>
);
}
但是我在 Chrome 的 devtool 中收到以下警告,该组件也没有显示:
警告:使用了不正确的大小写。对 React 组件使用 PascalCase,对 HTML 元素使用小写。
警告:此浏览器无法识别标签。如果您打算渲染一个 React 组件,请以大写字母开头。
我的代码有什么问题?
【问题讨论】:
-
不,我的问题是我引用的是字符串而不是对象。
标签: javascript reactjs