react-preloaders icon indicating copy to clipboard operation
react-preloaders copied to clipboard

Can't set customLoading equal true again after get request api

Open datnguyenute opened this issue 6 years ago • 3 comments

Describe the bug When i using customLoading to set status for pre-loading with request api, i can't set customLoading equals TRUE again with another request.

Expected behavior Can setting customLoading and preloader is display again with each request

Code In my render function <h1>My app</h1> <Lines customLoading={this.state.loading} /> <button onClick={() => this.setState({ loading: true })}>Another Request</button> <h3>{this.state.loading ? 'true' : 'false' } </h3> When i change state by click button "Another Request", state has change, but my preloader not reset customLoading and have no display preloader

datnguyenute avatar Oct 13 '19 07:10 datnguyenute

Please respond to this question I'm facing the same issue.

xAl3xFx avatar Feb 01 '20 14:02 xAl3xFx

@VamOSGS could this one be fixed? facing same issue and didn't see any inner processing for "true" state? best regards, Nike

am0nshi avatar Jun 27 '20 10:06 am0nshi

I met the same issue, and push a PR. Or you can edit the package file in the project, of cos, for temporary usage. In './node_modules/react-preloaders/Preloader/StyledPreloader.js',

// from line 84
bodyScroll();
  (0, _react.useEffect)(function () {
    if (customLoading === false) {
      setTimeout(function () {
        setLoading(false);
      }, time);
    }

    if (customLoading === undefined) {
      document.onreadystatechange = function () {
        if (document.readyState === 'complete') {
          setTimeout(function () {
            setLoading(false);
          }, time);
        }
      };
    }
    if (customLoading === true) {    // added these 3 lines
      setLoading(true);
    }
  }, [customLoading]);

Hope it helps save you time. Thanks!

charles-dr avatar Sep 15 '20 04:09 charles-dr