2017-01-16 10 views

答えて

3

はい。

あなたのjavascriptがロードされたら、あなたはあなたをレンダリングしLoading...を置き換えることができますが、同じ<div>componentライフサイクルメソッドを使用してこれを行うの

render(
    <App />, 
    document.getElementById('content') 
); 
0

1つの方法はアプリを反応させます。

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>

+0

これはクールですが、私はReactDOMがレンダリングされる前にアイコンを表示するように望んでいました。 #app divにローダーアイコンを配置します。 – Michal

+0

これは、あなたの 'loading'コンポーネントが再び' react'コンポーネントである場合に役立ちます。そして、これはhtmlバインディングに依存するよりも良い方法かもしれません。 –

+0

@ JyothiBabuAraja遅いネットワーク上で資産をダウンロードしている間にクライアントにローディングステータスを表示したい場合はどうすればよいですか? –

関連する問題