javascript - 有没有更干净的方法来停止初始加载时的 React 渲染?

标签 javascript reactjs

所以我的 React 类调用 json 响应然后渲染。

但就目前情况而言,该类将在初始加载时呈现,然后在响应返回时再次呈现。

为了解决这个问题,我这样做了 -

componentDidMount: function() {

        axios.get.......
          .then(res => {
            const jobs = res.data;
            this.setState({ jobs });
          });
  },

render: function () {
      if (Object.keys(this.state.jobs).length == 0)
      {

      }
      else {
          return (
              <div>
                  {this.state.jobs.data.map(function (ob) {
                      return <li key={ob.id}>{ob.name}</li>

                  })}

              </div>
          )
      }
      return null;
  }

});

有更好的方法吗?不使用 if 语句?

最佳答案

React 始终必须在初始加载中渲染。所以你只需要像你已经做的那样渲染 null 。代码方面,也许你可以写

return this.state.jobs.data ? <YourTemplate /> : null;

哪个更干净。

关于javascript - 有没有更干净的方法来停止初始加载时的 React 渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42873734/

相关文章:

javascript - 如何使用 RxJs 异步加载图像并在所有加载后执行方法

javascript - 为什么每次渲染时都会调用 `useEffect` 处的清理函数?

javascript - 如何在 Controller 中手动注入(inject)路由解析数据?

javascript - jquery关闭点击功能?

javascript - JQuery UI 对话框正确显示

javascript - 从字符串数组创建对象

javascript - 将 prop 从 child 传递给 parent React

javascript - react 传递新 Prop

node.js - 无法在 Windows 10 上安装 create-react-app

javascript - 如何在渲染后根据另一个状态使用 setState 更新状态?