【问题标题】:React functional component ternary operator return html elementReact 功能组件三元运算符返回html元素
【发布时间】:2020-03-28 13:11:18
【问题描述】:

我正在尝试使用三元运算符对我的功能组件进行一些可选更改。但是更改会导致错误。

我正在尝试渲染图标,但我正在渲染图标代码。

export const Navitem = (props) => {
    const routes = useRouter()
    const active = routes.pathname == props.link ? ' active' : null
    const submenuIcon = props.className === 'has-submenu' ? ' <i class="ti-angle-right"></i>' : null
    const badge = props.badgde !== null ? '<span className=' + props.badge + '>' + props.badgeText + '</span>' : null
    return(
        <li className={props.className + active}>
            <Link href={props.link}>
                <a><i className={props.icon}></i><span>{props.text + submenuIcon + badge}</span>
                </a>
            </Link>
            {props.children}
        </li>
    )
}

我期待的结果是:&gt;

但实际上,我收到的是&lt;i class="ti-angle-right"&gt;&lt;/i&gt;

我可以做些什么来解决这个问题?

【问题讨论】:

标签: javascript html reactjs icons


【解决方案1】:

使用 JSX 代替带引号的字符串 '&lt;i class="ti-angle-right"&gt;&lt;/i&gt;':

'has-submenu' ? <i class="ti-angle-right" /> : null

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-28
    • 2021-09-09
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 2012-01-22
    相关资源
    最近更新 更多