在首次响应应用初始化之前显示加载图标

时间:2017-01-16 15:38:48

标签: javascript reactjs dom loading

在浏览器下载所有js文件和加载响应应用程序之前显示加载程序图标的标准方法是什么。

我可以做这样的事情而不会破坏任何东西吗?

<div id="content" class="app">
  Loading...
</div>

2 个答案:

答案 0 :(得分:4)

加载javascript后,您可以通过将您的反应应用呈现为相同的Loading...

来替换<div>
render(
  <App />, 
  document.getElementById('content')
);

答案 1 :(得分:0)

使用component生命周期方法执行此操作的一种方法。

class App extends React.Component {
    constructor(props){
      super(props);
      this.state = {
        loading: true
      };
    }
  
    componentWillMount(){
       this.setState({loading: true}); //optional 
    }

    componentDidMount(){
        this.setState({loading: false}) 
    }
  
    render() {
        return (
            <section className="content">
              {this.state.loading && 'loading...'} {/*You can also use custom loader icon*/}
              <p>Your content comes here</p>
              {this.props.children}
            </section>
        );
    }
}

ReactDOM.render(<App />, document.getElementById("app"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app">
  
</div>