gpt4 book ai didi

javascript - jsx 中的奇怪条件渲染失败

转载 作者:行者123 更新时间:2023-11-30 15:10:15 25 4
gpt4 key购买 nike

我有一个 this 组件,它为背景图像设置了一个变量,这不起作用

render() {

const target_role_gravatar = this.props.target_role_gravatar

return(
<div className="logo"
style={{"backgroundImage": "url(" + target_role_gravatar ? target_role_gravatar : 'something else' + ")"}}>
</div>
)
}

我得到了 target_role_gravatar 的所有值。

但这行得通。

render() {

const target_role_gravatar = this.props.target_role_gravatar

return(
<div>
{target_role_gravatar && <div className="logo"
style={{"backgroundImage": "url(" + target_role_gravatar + ")"}}>
</div>}

{!target_role_gravatar && <div className="logo"
style={{"backgroundImage": "url(" + this.logo + ")"}}>
</div>}
</div>
)
}

为什么?

最佳答案

+ 的优先级高于 ?:。您的表达式被评估为

(prefix + condition) ? yes : (no + suffix)

解决方案:使用括号改变优先级:

"url(" + (target_role_gravatar ? target_role_gravatar : 'something else') + ")"

或者使用模板字面量:

`url(${target_role_gravatar ? target_role_gravatar : 'something else'})`

关于javascript - jsx 中的奇怪条件渲染失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45205543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com