获取,axios无法在reactjs中及时返回数据

获取,axios无法在reactjs中及时返回数据,reactjs,fetch,axios,Reactjs,Fetch,Axios,在componentWillMount中,我调用fetch方法来获取数据。但当fetch未加载时。此组件已渲染 怎么修理。?如何在渲染前获取加载的内容您不能。当您获取数据并输入组件时,通常需要检查是否有任何数据。如果没有,则不渲染任何内容或渲染类似“无数据”的内容。或者在那里展示一个旋转器。为此使用componentDidMount class App extends Component { state = { data: "", } componentDidMount()

在componentWillMount中,我调用fetch方法来获取数据。但当fetch未加载时。此组件已渲染


怎么修理。?如何在渲染前获取加载的内容

您不能。当您获取数据并输入组件时,通常需要检查是否有任何数据。如果没有,则不渲染任何内容或渲染类似“无数据”的内容。或者在那里展示一个旋转器。为此使用componentDidMount

class App extends Component {
  state = {
    data: "",
  }

  componentDidMount() {
    this.fetchData();
  }

  fetchData() {
      fetch('https://jsonplaceholder.typicode.com/posts/1')
        .then(response => response.json())
        .then(json => this.setState( {data: json}));
  }

  render() {
    return (
      <div>
        { this.state.data ? <p>{this.state.data.title}</p>: "No data"}
      </div>
    );
  }
}

我的获取函数在渲染之前未完成。如何修复it@VõCátThư正如它在这个答案中所说,您可以通过在数据准备好之前使渲染函数工作来修复它。