在处理程序中使用JSX代码调用函数

时间:2017-10-12 08:02:18

标签: javascript reactjs jsx

我想在我的网页错误并重定向到登录页面时渲染一个Loader。

我的Loader代码如下。

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

以下是我打电话的地方。它在另一个文件中。

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);
    }
  };`

我可以用哪种方式给Loader打电话?我是否需要导入Loader然后像函数一样调用它?

1 个答案:

答案 0 :(得分:0)

你应该调用setState,例如this.setState({ isLoading: true }),并在render方法中调用你的Loader(但你必须将它导入你的文件),如 render() { if (this.state.isLoading) { return <Loader />} }