【问题标题】:computation using template literal in jsx在 jsx 中使用模板文字进行计算
【发布时间】:2018-03-02 07:07:38
【问题描述】:

为什么这不起作用?

<div style={{height: `${(2/1) %}` }}>
</div>

我希望有 50% 的身高。我可以在 jsx 中做到这一点吗?但据我所知,{} 中的任何内容都是 javascript 表达式。

【问题讨论】:

    标签: javascript reactjs ecmascript-6 jsx


    【解决方案1】:

    基本规则:

    {}里面只需要js表达式。


    问题是,% 的位置不对,这样写:

    style={{ height: `${(2/1)}%` }}
    

    它应该在${}之外,否则它会被视为Remainder (%)并期望在%之后有另一个值。当您在 ${} 之外定义它时,它会以百分比的形式起作用。

    例子:

    style= {`${value}%`}
    

    更新:

    要使用 react 定义样式,我们需要传递一个对象,键将是 css 属性,值将是它们的值,因此在您的情况下,您需要将蓝色放入 ''

    使用这个:

    style={{height: `${1/2}%`, background: 'blue' }}
    

    【讨论】:

    • 这行不通?
      ${1/2} %, 'background: blue' }}>
    • 高度仍然不起作用,这是我的尝试。 jsfiddle.net/tkqsdr64你可以检查元素,根本没有添加样式。
    • 只是好奇为什么这里的空间很重要。
    • 因为会变成height: '50 %',应该是height: '50%'或者'50px'数字和单位之间没有空格:)
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签