javascript - 具有属性的 JSX 动态标签

标签 javascript reactjs redux

我有一个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 的组件看起来像这样:

从'react'导入React

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>
    );
}

正在加载UserCount组件通过 <SystemStatus.UserCount {...{name, state}} />工作得很好。但是,如果我尝试使用 CustomTag我收到此错误:

Unknown prop state on tag. Remove this prop from the element.

如何利用变量传递这些属性?我需要以不同的方式导出它们吗?

最佳答案

我认为您只是错误地分配了CustomTag。当您想将其设置为实际的组件函数时,只需将其设置为字符串即可。

试试这个:

const CustomTag = SystemStatus[组件];

关于javascript - 具有属性的 JSX 动态标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41620441/

相关文章:

javascript - 有没有一种方法可以使用通过 HTTP POST 检索到的数据在 Javascript 中加载图像?

javascript - 使用 redux hooks 时使用 redux Action 的最佳选择是什么?

javascript - 尝试了解 Redux 操作创建者

javascript - 为什么我的 User.props 总是未定义? React-Native 和 Redux

javascript - Action 不会触发 React + Redux 中的 reducer

reactjs - Redux 中的 className 语法

javascript - 如何覆盖 res.view.js 文件的 sails.js View Hook ?

Javascript如何在单击每个按钮后更改段落中的文本

Javascript - 打开链接

javascript - React Gulpfile watchify 不更新