当前位置: 首页 > 知识库问答 >
问题:

带有属性的JSX动态标签

晏晨朗
2023-03-14

我有一个system State组件文件夹。它们用一个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组件

标签上的未知道具状态。从元素中删除此道具。

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


共有1个答案

商璞
2023-03-14

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

试试这个:

const CustomTag=SystemStatus[组件]

 类似资料:
  • 我想知道是否有什么方法可以使属性值动态。类似于这样: 感谢您的反馈。在我的例子中,属性值是系统特定的,应该在测试运行时生成。

  • 问题内容: 我尝试编写一个React组件。对于html标题标签(h1,h2,h3等),其中标题优先级根据我们在道具中定义的优先级动态变化。 这是我尝试做的。 预期输出: 这是行不通的。有什么可能的方法可以做到这一点? 问题答案: 无法就地执行此操作,只需将其放在变量中(首字母大写):

  • 我试着为html标题标签(h1,h2,h3等)写一个React组件,其中标题优先级根据我们在props中定义的优先级动态变化。 这就是我要做的。

  • 问题内容: 我想动态地在按钮元素上包含/忽略Disabled属性。我已经看到了许多有关动态属性值的示例,但没有看到属性本身的示例。我有以下渲染功能: 由于有“ {”字符,这将引发分析错误。如何基于AppStore.cartIsEmpty()的(布尔值)结果包含/忽略禁用的属性? 问题答案: 添加可选属性(包括和其他可能要使用的其他属性)的最简洁方法是当前使用JSX传播属性: 通过使用传播属性,您可

  • 在HTML文档中,我有以下标记 我正在使用JSoup,希望提取中包含的URL,该URL由标识。在阅读了下面的文章之后 > JSoup解析标记中的数据 我想出了这段代码 但这些都是印刷品 我尝试过其他的变化,但都没有成功。我要么什么也没打印出来,要么最后出现了空指针异常。 我不确定如何提取

  • 我有以下Rust游乐场永久墨水 如果我从这样的问题中理解正确的话,那么由于泛型是单态的,Rust运行时就不可能泄漏出的适当方法,假设每个实现的类型表面上可能有一个不同的方法?这对我来说并不是很好,因为在与Rust运行时相同的位置上,我似乎可以查看我手头上的实现器,比如和我将查看的vtable。你能解释一下我错在哪里吗? 从那里,我尝试简单地与编译器战斗,并进入静态分派。第17-21行 变成了