不要将从fetch调用返回的数据设置为状态
创始人
2025-01-10 19:30:15
0

在React中,通常不应将从fetch调用返回的数据直接设置为组件的状态。相反,可以在组件的生命周期方法中使用一个临时变量来存储数据,并在需要时将其设置为状态。

以下是一个示例,演示如何将从fetch调用返回的数据设置为组件的状态:

class MyComponent extends React.Component {
  state = {
    data: null,
    isLoading: true
  };

  componentDidMount() {
    fetch('https://api.example.com/data')
      .then(response => response.json())
      .then(data => {
        this.setState({
          data: data,
          isLoading: false
        });
      })
      .catch(error => {
        console.error('Error:', error);
        this.setState({ isLoading: false });
      });
  }

  render() {
    const { data, isLoading } = this.state;

    if (isLoading) {
      return 
Loading...
; } return (
{/* 使用数据渲染组件 */} {data.map(item => (
{item.name}
))}
); } }

在上述示例中,我们使用componentDidMount生命周期方法来发起fetch调用,并在成功时将数据设置为组件的状态。同时,我们还设置了一个isLoading状态,以在数据加载期间显示一个加载指示器。

在render方法中,我们根据isLoading状态来决定渲染什么内容。如果数据正在加载中,我们显示一个Loading...文本。一旦数据加载完成,我们使用数据渲染组件。

这种方法可以确保在数据加载期间显示正确的用户界面,以及在数据加载完成后正确地渲染数据。

相关内容

热门资讯

5分钟透视辅助!德普之星透视辅... 5分钟透视辅助!德普之星透视辅助软件下载(透视辅助)详细辅助工具(竟然工具)1、许多玩家不知道德普之...
8分钟脚本下载!德州局透视脚本... 8分钟脚本下载!德州局透视脚本免费版下载手机版(透视器脚本)详细辅助下载(切实下载);1、德州局透视...
二分钟辅助工具!德普之星辅助工... 二分钟辅助工具!德普之星辅助工具如何设置,德普之星辅助器怎么用,详细教程(有挂脚本);德普之星辅助器...
七分钟作弊!线上德州的辅助器是... 七分钟作弊!线上德州的辅助器是什么(透视器脚本)详细辅助app(果然app)软件透明挂微扑克wpk插...
二分钟透视辅助插件!德普之星透... 二分钟透视辅助插件!德普之星透视免费,德普之星怎么设置埋牌,详细教程(有挂详情);1、让任何用户在无...
7分钟轻量版!大菠萝免费辅助器... 7分钟轻量版!大菠萝免费辅助器,德州透视脚本,详细教程(有挂秘笈);1、大菠萝免费辅助器透视辅助简单...
7分钟透视软件!德普之星透视软... 7分钟透视软件!德普之星透视软件免费入口官网,德普之星辅助器怎么用,详细教程(有挂插件)1、点击下载...
七分钟手机助手!xpoker辅... 您好,约局吧德州透视这款游戏可以开挂的,确实是有挂的,需要了解加微【757446909】很多玩家在这...
两分钟透视软件!德普之星私人局... 两分钟透视软件!德普之星私人局辅助免费,德普之星私人局辅助免费,详细教程(有挂方法);1、德普之星私...
3分钟设置房间!拱趴大菠萝挂(... 3分钟设置房间!拱趴大菠萝挂(透视器脚本)详细辅助俱乐部(本来俱乐部)1、游戏颠覆性的策略玩法,独创...