javascript - 将 .then() 中的 String 作为 JSX 元素解析到外部

标签 javascript json reactjs fetch-api

在 React 中,我导入了以下这些库

import React from "react";
import {
  Container,
  Row,
  Col,
  Card,
  CardBody,
  CardFooter,
  Badge,
  Button
} from "shards-react";

在函数内部,我有以下 fetch 方法,在 .then() 内部我添加了 JSX 元素

     output=''
fetch(
          "https://api.rss2json.com/v1/api.json?rss_url=https://medium.com/feed/@MediumStaff"
        )
          .then(res => res.json())
          .then(data => {
            const res = data.items; 

            let a = 0;
            res.forEach(item => {

              if (a === 0 || a === 3 || a === 6 || a === 9) {
                output += `<Row>`;
              }

              output += `<Col lg="6" md="6" sm="12" className="mb-4">
                <Card small className="card-post card-post--1">
                  <div
                    className="card-post__image"
                    style={{ backgroundImage: "url("+"${item.thumbnail}"+")" }}
                  >
                  </div>
                  <CardBody>
                  //JSX elements
                  </CardBody>
                </Card>
                </Col>`;
              if (a === 2 || a === 5 || a === 8 || a === 9) {
                output += `</Row>`;
              }

              a += 1;
            });

            document.querySelector(".blog__slider").innerHTML = output;
            console.log(output);

          });

作为返回,我使用了以下代码

<div className="blog__slider"></div>

我认为 React 中的功能组件没有将输出值作为 JSX 组件。如果我在 .then() 之外获得更新输出值,我可以使用 dangerouslySetInnerHTML={{__html: output}}

最佳答案

创建一个类组件并在该类组件的构造函数中添加一个数组状态。因为当类创建时,该状态将启动。使用 React 生命周期方法 componentDidMount 获取 JSON 对象并将 JSON 对象推送到数组状态,然后您可以在渲染方法中使用 JSX 元素

codesandbox.io/s/twilight-breeze-plbby

关于javascript - 将 .then() 中的 String 作为 JSX 元素解析到外部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59128009/

相关文章:

javascript - 如何使用 VS Code 调试 Node.js 中的私有(private)类字段?

javascript - Android Talkback 未注册 Web 版 onFocus。如何使用 Android Talkback 操作辅助功能焦点?

java - 从我的 Assets 中解析 JSON 数据

javascript - forEach 不是函数错误

javascript - 使用 Javascript 或 JQuery 更改 JSON 值

node.js - 为什么 npm start 抛出 events.js :187 throw er;//Unhandled 'error' event in my react project?

javascript - 尝试导航到另一个页面时 IE7 和 IE8 中出现 "Stop running this script"错误

javascript - 从 JavaScript 中的类实例动态继承

javascript - CoreUI React 登录后重新路由无法正常工作

reactjs - 为什么对象文字 `{a}` 的 TypeScript 断言适用于接口(interface) `{a, b}` 而不是 `{a?, b}`