当前位置: 首页 > 知识库问答 >
问题:

javascript - react tsx 怎么在页面中请求接口?

龙令
2024-02-20

下图这是这个页面的所有代码,我想像vue的mounted一样,刚进页面就请求接口,请问我该怎么写?
另外,这应该属于是typescript吧?完全看不懂一脸懵

并且,我的接口不是固定地址,后端那可能会上传到不同的服务器,如何像vue一样配置proxy?
在这里先谢谢各位大哥大姐的解答,小弟感激不尽!

import Contorls from "./component/Contorls/Contorls";import homeRenderer from "./homeRender";import styles from './index.module.less';const Home = () => {    return (        <div className={styles.home}>            <div ref={dom => homeRenderer.setContainer(dom)} className={styles.container}></div>            <Contorls />        </div>    );}export default Home;

共有1个答案

公孙联
2024-02-20

首先,你需要在你的 React 组件中创建一个生命周期方法,这个方法会在组件挂载到 DOM 时被调用。你可以使用 useEffect 钩子来达到这个目的。useEffect 钩子接受两个参数:一个是依赖项数组,另一个是当依赖项发生变化时要执行的函数。在你的情况下,你可以将空数组传递给 useEffect 钩子,这样你的函数就会在组件挂载时执行,而不是在每次依赖项发生变化时执行。

然后,你可以在 useEffect 钩子中调用你的 API 请求。

以下是一个示例代码:

import React, { useEffect } from 'react';import Contorls from "./component/Contorls/Contorls";import homeRenderer from "./homeRender";import styles from './index.module.less';const Home = () => {    useEffect(() => {        // 在这里调用你的 API 请求        fetch('/api/data')            .then(response => response.json())            .then(data => console.log(data))            .catch(error => console.error('Error:', error));    }, []); // 注意这里的空数组,它表示这个 effect 只会在组件挂载时运行    return (        <div className={styles.home}>            <div ref={dom => homeRenderer.setContainer(dom)} className={styles.container}></div>            <Contorls />        </div>    );}export default Home;

至于你的第二个问题,关于代理设置。如果你使用的是 Create React App 来创建你的 React 项目,那么你可以在你的 package.json 文件中设置一个 "proxy" 字段来配置你的代理。例如:

{  "name": "my-app",  "version": "0.1.0",  "proxy": "http://localhost:8080",  ...}

如果你不是使用 Create React App 来创建你的项目,那么你可能需要查看你所使用的构建工具或者服务器的文档来了解如何配置代理。

 类似资料:
  • 上面的代码中,我需要在onSuccess中获取page的值,但是onSuccess的参数只有data,没有variables,react-query的版本是3.29,请问怎么解决。

  • 问题内容: 我们制作了一个AngularJS应用,其中用户打开一个URL(xyz.com/booking)填写表格,然后选择一些要购买的物品。 之后,该用户单击“购买”按钮,并离开该站点进入支付网关站点。成功付款后,Payment Gateway会通过在回调URL(xyz.com/booking- success)上发送POST请求来发回用户。 现在的问题是,我为该回调URL配置的相应Angula

  • 在其生命周期的各个阶段截取和修改请求的内容 进程: 主进程​ WebRequest类的实例是通过使用 Session的 webRequest属性来访问。 每个 API 接收一可选的 filter 和 listener,当 API 事件发生的时候使用 listener(details) 调用 listener, details 是一个用来描述请求的对象.将 null作为 listener传递将取消订

  • 我想在当前二三级页面获取to,form,怎么获取

  • 在mounted里面请求接口,如下:,两个接口都请求了,但是第一个接口返回的data为null,如果此时刷新一下页面,那么第一个接口返回的data就有值,这是为什么,怎么解决这个问题?第一个接口代码: 第二个接口代码: 这是从上一个页面进入这个页面的时候打印的 这是页面刷新后打印的

  • 本文向大家介绍Flutter 请求接口数据乱码怎么办?,包括了Flutter 请求接口数据乱码怎么办?的使用技巧和注意事项,需要的朋友参考一下 浏览器访问正常,但是在 Flutter 中拿到的却是一堆乱码,类似如下: 原因是没有设置编码格式: 改用: 解决。