有没有更简洁的方法来停止初始加载时的React渲染?

时间:2017-03-18 11:24:54

标签: 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语句?

1 个答案:

答案 0 :(得分:2)

React总是必须在初始加载中渲染。所以你只需像你已经做的那样呈现null。代码明智,也许你可以写

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

更干净。