2017-10-12 4 views
0

Ich möchte einen Loader rendern, wenn meine Seite mir einen Fehler meldet und auf die Anmeldeseite umleitet.Aufruf der Funktion mit JSX-Code im Handler

Mein Loader-Code ist wie folgt.

export const Loader =() => (
    <Grid container justify="center" align="center" style={{ height: '100%' }} > 
     <Grid item > 
      <CircularProgress /> 
     </Grid> 
     </Grid> 
); 

Unten ist, wo ich anrufen würde. Es ist in einer anderen Datei.

handleRequestClose =() => { 
    const { errorActions } = this.props; 
    errorActions.close(); 
    if (this.props.isLogined && isLogined()) { 
     // Render Loader before the time runs out and redirects me 
     window.setTimeout(function() { 
     window.location.href = '/'; 
     }, 9000); 
    } 
    };` 

In welcher Weise kann ich Loader dort anrufen? Muss ich Loader importieren und dann einfach wie eine Funktion aufrufen?

+0

Wenn Sie es einfach aufrufen, wird es nicht wissen, wo sie Rendern Sie die Vorlage. Sie müssen den Aufruf zum Loader innerhalb der Funktion 'render()' hinzufügen. –

Antwort

0

Sie sollten setState nennen, zum Beispiel this.setState({ isLoading: true }) und in der Render-Methode rufen Sie Ihren Loader (aber Sie müssen es auf Ihre Datei importieren), als render() { if (this.state.isLoading) { return <Loader />} }

+0

Vielen Dank! :) – Heather

Verwandte Themen