reactjs - 使用 React-semantic UI 进行条件渲染

标签 reactjs semantic-ui semantic-ui-react conditional-rendering

我正在尝试渲染 React-Semantic UI 消息,并根据我需要根据条件显示内容或列表的条件。

工作代码:

const Message = ({icon, header, content, className, list}) => {
if(Array.isArray(content))
{
    return (
    <SemanticMessage
        icon={icon}
        header={header}
        className={className}
        list={content}
    />
    )
} else {
    return (
    <SemanticMessage
        icon={icon}
        header={header}
        className={className}
        content={content}
    />
    )
}
}

但这不起作用:

const Message = ({icon, header, content, className, list}) => {
 return (
     <Message
         icon={icon}
         header={header}
         className={className}
         {...Array.isArray(content) ? [list={content}] : [content={content}]}
     />
 )

}

有任何线索吗?我在这里缺少什么?

最佳答案

您需要稍微修改传播以使用键/值对传播对象,而不是传播数组。这些在 JSX 中称为扩展属性:

const Message = ({icon, header, content, className, list}) => {
 return (
     <Message
         icon={icon}
         header={header}
         className={className}
         {...Array.isArray(content) ? { list: content } : { content } }
     />
 )
}

关于reactjs - 使用 React-semantic UI 进行条件渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55654768/

相关文章:

html - 如何使用 Cypress 定位没有 id 属性的嵌套输入?

html - 在 Material-UI 中调暗/禁用 div 的最佳方法?

javascript - material-ui 客户端警告 : Prop `style` did not match

html - 使用语义 UI 边栏 react 组件制作全尺寸主要内容

git - .gitignore 中的语义 UI

reactjs - 如何使用 redux-subspace 重用具有相同操作的 reducer

javascript - 类型错误 : Cannot read properties of undefined (reading 'requestContent' )

javascript - 如何在 angularJS 指令中使用 jQuery 插件(语义用户界面)?

reactjs - 如何在语义 ui react 中更改背景颜色?

javascript - 在语义 UI React 表单输入中仅允许数字