zoukankan      html  css  js  c++  java
  • 【react读取文件】react发送GET请求读取静态文件

    react中,使用发送请求的方式把static文件夹中的前端可访问的静态文件读取成字符串:

    1、new request,需要用到getRequestHeaders组件

    2、fetch获取response

    3、return response.text() 获取文件内容(关于response对象的属性和方法见:https://developer.mozilla.org/zh-CN/docs/Web/API/Response 。在这里,return response.tx()返回的是一个promise对象,这里我也没搞懂,promise对象到底是什么,以及到底是同步的还是异步的,后续还需要再看一下。https://www.cnblogs.com/whybxy/p/7645578.html

    import React, { Component } from 'react';
    
    import { getRequestHeaders } from '../setupAjaxHeaders';
    import HyperDown from 'hyperdown';
    
    import './ReadMePage.css';
    
    
    class ReadMePage extends Component {
        constructor(props){
            super(props);
    this.state={ readmeHtml:undefined, }; } render(){ const getArtifactRequest = new Request(require('../static/readme.md'), { method: 'GET', headers: new Headers(getRequestHeaders(document.cookie)) }); fetch(getArtifactRequest).then((response) => { return response.text() }).then((text) => { const parser=new HyperDown; this.state.readmeHtml=parser.makeHtml(text); this.setState({ readmeHtml:parser.makeHtml(text), }); return <div id="readMeBody" dangerouslySetInnerHTML={{__html:this.state.readmeHtml}}></div>; }); return <div id="readMeBody" dangerouslySetInnerHTML={{__html:this.state.readmeHtml}}></div>; } } export default ReadMePage;

    注意,要保存代码中动态生成的结果,必须在构造函数中定义 this.state={resultname:undefined, } 并在生成结果时调用this.setstate({ resultname:result, }),然后后续调用的时候使用this.state.resultname

    注意,request获取response之后,response.text()需要通过return再then才能获取到,直接使用是获取不到的

  • 相关阅读:
    tomcat部署web应用的4种方法
    Spring连接数据库的几种常用的方式
    Spring 的两个配置容器的讲解
    c3p0详细配置
    tomcat启动很慢的原因
    J2EE程序员应该要掌握的linux知识
    hibernate-mapping的各种属性配置
    在Eclipse添加Android兼容包( v4、v7 appcompat )
    微信抢红包软件-android
    Gradle sync failed: Failed to find Build Tools revision 26.0.2的解决办法
  • 原文地址:https://www.cnblogs.com/zealousness/p/10479495.html
Copyright © 2011-2022 走看看