【问题标题】:Replacing values from JSON result with HTML and CSS用 HTML 和 CSS 替换 JSON 结果中的值
【发布时间】:2020-05-05 18:11:30
【问题描述】:

我会尽力解释这一点。有一个 JSON 结果将文本的每个段落分开,并用 0 或 1(甚至 0.3 等)标记它们。前端的字符串化结果也显示了这些数字。有没有办法替换这些并根据值(0、0.1 或 1)应用 CSS 样式?

JSON:

原始:

"content": [
          [
            0.0, 
            "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", 
            []
          ], 
          [
            0.0, 
            "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", 
            []
          ], 
          [
            1, 
            "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", 
            []
          ]
        ], 
...

我在前端得到的是:

0Lorem ipsum dolor sit amet, consectetur adipiscing elit.0Lorem ipsum dolor sit amet, consectetur adipiscing elit.1Lorem ipsum dolor sit amet, consectetur adipiscing elit.

我应该得到:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.

将 0 和 1 替换为 html(和类)

【问题讨论】:

    标签: json reactjs fetch


    【解决方案1】:

    您应该能够映射该内容并从每个项目中提取值,然后渲染它们。

    data.content.map((item, i) =>
      <p key={i} className={ item[0] < 0.5 ? 'low-value' : 'high-value' }>{ item[1] }</p>
    )
    

    然后你可以使用deconstructing assignment 来使这个更干净,并给每个值一个命名的局部变量。

    data.content.map(([value, text, array], i) =>
      <p key={i} className={ value < 0.5 ? 'low-value' : 'high-value' }>{ text }</p>
    )
    

    【讨论】:

    • 嗯,这只会输出文本的第一段。如果我将其更改为 item[2] 我会得到第二段等。
    • 它适用于您发布的数据片段:codepen.io/Squeegy/pen/WNQdPeM?editors=0110
    • 正确。是不是因为我的数据是用 JSON stringify 获取的?我正确映射了所有数据,一切都正确显示,但无法用类做这件事
    猜你喜欢
    • 2023-04-01
    • 2022-06-14
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 2011-06-02
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    相关资源
    最近更新 更多