当前位置: 首页 > 面试题库 >

如何使用从api获取的React组件?

龚同
2023-03-14
问题内容

我有一个API,它为我提供了Webpack处理的react组件,如下所示:

module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var u=t[n]={i:n,l:!1,exports:{}};return e[n].call(u.exports,u,u.exports,r),u.l=!0,u.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var u in e)r.d(n,u,function(t){return e[t]}.bind(null,u));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t){e.exports=require("react")},function(e,t,r){"use strict";r.r(t);var n=r(0),u=r.n(n);function o(){return u.a.createElement("div",null,"Pie Chart")}r.d(t,"default",(function(){return o}))}]);

在react组件内部,我想获取此组件并显示它。到目前为止,这是我尝试过的方法,但不幸的是它没有用。api提取有效,但仅将组件显示为字符串。

import React, { useState, useEffect } from 'react'
import axios from 'axios'

export function PluginGenerator() {

  const [plugin, setPlugin] = useState(<></>)

  useEffect(() => {
    async function getComponent(){
      const {data} = await axios.get('https://api.example.com/plugin', { withCredentials: true })
      setPlugin(data)
    }
    getComponent()
  })

  return (<>{plugin}</>)
}

我该如何在代码中的api获取的组件中使用它?


问题答案:

通过使用最新的Chrome,您可以执行以下操作:

const ProfilePage = React.lazy(() => import(/* webpackIgnore: true */ 'https://api.example.com/profile-page.mjs'));

<Suspense fallback={<div>Please wait for component to be loaded</div>}>
  <ProfilePage />
</Suspense>

ProfilePage将是一个惰性组件。提取完成后将加载它。等待期间,您会看到后备状态。

更多信息:

  • https://reactjs.org/docs/concurrent-mode-suspense.html

这是一个实验功能!



 类似资料:
  • 我正在创建一个fetchBill函数。分配https://randomapi.com/api/006b08a801d82d0c9824dcfdfdfa3b3c到一个api变量。它使用浏览器的fetch函数向api发出HTTP请求。它在一个函数中使用箭头函数。然后调用fetch函数,并在将其转换为JSON后返回响应。使用另一个。然后调用第一个函数,该函数将JSON数据传递给displayCartTo

  • 当我尝试使用Angularjs$http.get()访问wiki api时,出现了CORS问题。这是我的密码 $http.get('http://en.wikipedia.org/w/api.php?action=query 这是错误信息 无法加载XMLHttpRequesthttps://en.wikipedia.org/w/api.php?action=query

  • 问题内容: 我希望能够弄清楚哪些React组件与某个DOM元素相关联。 例如,假设我有一个div,并且正在使用React渲染整个应用程序。div必须由React组件呈现-但是哪一个呢? 我知道React提供了方法“ getDOMNode ”来获取与React组件相关联的DOM节点,但是我想做相反的事情。 这可能吗? 问题答案: 没有。 React中的中心概念是您实际上在DOM中没有控件。相反,您的

  • 问题内容: 我正在尝试在我的python代码中获取db.stats()mongo shell命令的结果(出于监视目的)。 但是与例如serverStatus不同,我做不到。我在mongodb文档中找不到任何等效的API。我也尝试了变体,但没有一个奏效。 所以, 小问题:如何在python代码中获得(连接/对象数,数据和索引的大小等)结果? 更大的问题:谁能解释为什么一些shell命令可以从API轻

  • 我有一个Spring MVC项目,我配置了jackson库来自动将响应(java对象)转换为json,它在GET请求中工作如下。 但是当我试图处理POST请求并从json的请求中获取对象时,我会得到错误“400 Bad request”,因为Spring无法从json创建对象顺序。我放置了与GET方法响应相同的json文件,因此我假设该文件格式良好。 如果我将@RequestBody类更改为Str

  • 我正在尝试获取componentDidMount中的api。api结果将被设置为组件的状态,状态映射并传递给子组件。 如果我在componentDidMount中使用fetch方法获取api,那么一切正常: 如果在方法内使用fetch,然后在componentDidMount内调用此方法,则不会呈现任何内容: 我无法理解我在生命周期中缺少了什么。你不应该这样做吗? 启动状态 渲染 调用组件 重新渲