【发布时间】:2017-05-27 23:44:17
【问题描述】:
我有一个systemStatus 组件文件夹。它们暴露在index.js 文件中,如下所示:
export UserCount from './UserCount'
我有一个名为 Status 的 JSX 组件,如下所示:
import React from 'react'
import * as SystemStatus from './systemStatus'
export default ({
name,
state,
component
}) => {
const CustomTag = `SystemStatus.${component}`;
return (
<div className="row">
<SystemStatus.UserCount {...{name, state}} />
{/*<CustomTag {...{name, state}}/>*/}
</div>
);
}
它的工作是加载命名组件的行。
然后我有一个名为 UserCount 的组件,如下所示:
从“反应”导入反应
export default ({
name,
state
}) => {
return (
<div>
<div className="col-md-3">{name || 'Name is missing.'}</div>
<div className="col-md-3">
{state ? state.count : 0}
</div>
</div>
);
}
通过<SystemStatus.UserCount {...{name, state}} /> 加载UserCount 组件可以正常工作。但是,如果我尝试使用 CustomTag 我会收到此错误:
标签上的未知道具
state。从元素中移除这个道具。
如何利用变量传递这些属性?我需要以不同的方式导出它们吗?
【问题讨论】:
-
你是否从某个地方导入了
CustomTag? -
CustomTag是字符串吗?我认为它必须是一个组件
标签: javascript reactjs redux