学习的react ,所以请忍耐…

下面的代码适用于我,并允许我将valueOne设置为OneOneOne

import etc...

function LoadPage()
{
const [valueOne, setvalueOne] = useState(GetValueOne)  

function GetValueOne()
{
   return 'OneOneOne';
}
}

我遇到的问题是,我需要调用服务器以在页面加载时返回ValueOne的实际值.所以我改成了以下几点:

async function GetValueOne()
{
  let oneResult;

  await axios.get(`${getBaseUrl()}/One/GetValueOfOne`)
  .then(res => {
    oneResult= res.data;
  });

 return oneResult;
}

这现在不起作用了,因为我已经将函数更改为Async以等待axios.get请求...我可以更新useState以匹配它吗?

如果没有的话,有没有别的办法呢?

推荐答案

您可以在ReactJS中使用UseEffect钩子来实现这一点.您可以使用空值初始化状态,然后在组件首次挂载后对其进行更新.

Sample code:

 const [valueOne, setValueOne] = useState(null);
  
    useEffect(() => {
    async function fetchData() {
      try {
        const response = await axios.get(`${getBaseUrl()}/One/GetValueOfOne`);
        setValueOne(response.data);
      } catch (error) {
        console.error('Error fetching valueOne:', error);
      }
    }

    fetchData();
  }, []); 

在上面的Use Effect中,我添加了空方括号,这意味着Use Effect只在组件挂载时运行一次.

Here, is full code implementation:

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

function LoadPage() {
  const [valueOne, setValueOne] = useState(null);

  useEffect(() => {
    async function fetchData() {
      try {
        const response = await axios.get(`${getBaseUrl()}/One/GetValueOfOne`);
        setValueOne(response.data);
      } catch (error) {
        console.error('Error fetching valueOne:', error);
      }
    }

    fetchData();
  }, []); // Empty dependency array to only run once on mount

  return (
    <div>
      <h1>Value of valueOne: {valueOne}</h1>
    </div>
  );
}

export default LoadPage;

如果你有任何问题,请告诉我.

Javascript相关问答推荐

fetch在本地设置相同来源的cookie,但部署时相同的代码不会设置cookie

一次仅播放一个音频

使用JavaScript单击上一个或下一个特定按钮创建卡滑动器以滑动单个卡

微软Edge编辑和重新发送未显示""

屏幕右侧屏障上的产卵点""

如何在ASP.NET项目中使用Google Chart API JavaScript将二次轴线值格式化为百分比

使用js构造一个html<;ath&>元素并不能使其正确呈现

DOM不自动更新,尽管运行倒计时TS,JS

如何在JAVASCRIPT中合并两组对象并返回一些键

Vaadin定制组件-保持对javascrip变量的访问

将范围 Select 器添加到HighChart面积图

无法设置RazorPay订阅API项目价格

使用API调用的VUE 3键盘输入同步问题

如何让SVG图标在被点击和访问后改变 colored颜色 ,并在被访问后取消点击时恢复到原来的 colored颜色 ?

在单击按钮时生成多个表单时的处理状态

JavaScript:多个图像错误处理程序

将以前缓存的 Select 器与querySelector()一起使用

在点击链接后重定向至url之前暂停

使用onClick单击子元素时,使用交点观察器的关键帧动画意外运行

为什么我的InDesign Java脚本不能完全工作?