不要将从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...文本。一旦数据加载完成,我们使用数据渲染组件。

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

相关内容

热门资讯

黑科技科技(wepoke智能a... 黑科技科技(wepoke智能ai)wepower使用说明书(wepOkE)素来是真的有挂(确实有挂)...
黑科技模拟器(wepoke智能... WePoker透视辅助工具核心要点解析‌,黑科技模拟器(wepoke智能ai)wepoke是机器发牌...
黑科技脚本(wepokeai代... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游戏中打牌都...
黑科技辅助挂(wepoke真的... 黑科技辅助挂(wepoke真的有挂)wepoke 软件(wEPOKE)固有真的有挂(有挂猫腻)-哔哩...
黑科技辅助挂(wepoke黑科... 黑科技辅助挂(wepoke黑科技)wepoke软件透明挂演示(wEpOke)一直真的有挂(真的有挂)...
黑科技app(wepoke真的... 此外,数据分析德州()辅助神器app还具备辅助透视行为开挂功能,通过对客户透明挂的深入研究,你可以了...
黑科技智能ai(wepoke辅... 黑科技智能ai(wepoke辅助插件)wepoke软件透明(WEPOke)先前是有挂(果真有挂)-哔...
黑科技模拟器(wepoke透明... 黑科技模拟器(wepoke透明黑科技)wepoke德州扑克用ai代打(WEPOKE)最初存在有挂(有...
黑科技插件(wepoke辅助插... 黑科技插件(wepoke辅助插件)wepoke软件透明(WEPOke)从来是真的有挂(有挂解惑)-哔...
黑科技美元局(wepoke智能... 黑科技美元局(wepoke智能ai)wepoke辅助真的假的(wepoKE)原先真的有挂(竟然有挂)...