Reactjs 您的工具栏不可见吗?

Reactjs 您的工具栏不可见吗?,reactjs,progress-bar,Reactjs,Progress Bar,在第三方库的帮助下,我创建了一个React进度条 import React from "react"; import { css } from "@emotion/core"; import ClipLoader from "react-spinners/ClipLoader"; // Can be a string as well. Need to ensure each key-value pair ends with ;

在第三方库的帮助下,我创建了一个React进度条

import React from "react";
import { css } from "@emotion/core";
import ClipLoader from "react-spinners/ClipLoader";
 
 
// Can be a string as well. Need to ensure each key-value pair ends with ;
const override = css`
  display: block;
  margin: 0 auto;
  border-color: red;
`;
 
class AwesomeComponent extends React.Component {
  constructor(props) {
    
    super(props);
    this.state = {
      loading: true
    };
  }
 
  render() {
    return (
        
      <div className="sweet-loading">
        <ClipLoader
          css={override}
          size={150}
          color={"#123abc"}
          loading={this.state.loading}
        />
      </div>
    );
  }
}
export default AwesomeComponent;
从“React”导入React;
从“@emotion/core”导入{css};
从“react spinners/ClipLoader”导入ClipLoader;
//也可以是字符串。需要确保每个键值对以结束;
const override=css`
显示:块;
保证金:0自动;
边框颜色:红色;
`;
类AwesomeComponent扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
加载:正确
};
}
render(){
返回(
);
}
}
导出默认组件;
然后导入到index.js文件中

import AwesomeComponent from './awesomeComponent.js';

ReactDOM.render(
  <Provider store={store}>
    <BrowserRouter>
      <App />
      <AwesomeComponent />
    </BrowserRouter>
  </Provider>,
  document.getElementById("root")
);
从'./AwesomeComponent.js'导入AwesomeComponent;
ReactDOM.render(
,
document.getElementById(“根”)
);

在我的应用程序中,当从nodejs api加载数据或单击任何按钮时,我希望显示此progressbar。但在与progressbar相关的GUI中看不到任何内容。

如果您使用基于类的组件进行
react promise tracker
,则需要使用HOC
promiseTrackerHoc

import React from "react";
import { css } from "@emotion/core";
import ClipLoader from "react-spinners/ClipLoader";
import { promiseTrackerHoc } from "react-promise-tracker"; // <--------- HERE
  
// Can be a string as well. Need to ensure each key-value pair ends with ;
const override = css`
  display: block;
  margin: 0 auto;
  border-color: red;
`;
 
class AwesomeComponent extends React.Component {
  constructor(props) {
    
    super(props);
    this.state = {
      loading: true
    };
  }
 
  render() {
    return (
        this.props.promiseInProgress && // <--------- HERE
        <div className="sweet-loading">
            <ClipLoader
            css={override}
            size={150}
            color={"#123abc"}
            loading={this.state.loading}
            />
        </div>
    );
  }
}
export default promiseTrackerHoc(AwesomeComponent); // <--------- HERE
从“React”导入React;
从“@emotion/core”导入{css};
从“react spinners/ClipLoader”导入ClipLoader;

从“react promise TrackerHoc”导入{promiseTrackerHoc};// 如果您正在为react promise tracker
使用基于类的组件,则需要使用HOC
promiseTrackerHoc

import React from "react";
import { css } from "@emotion/core";
import ClipLoader from "react-spinners/ClipLoader";
import { promiseTrackerHoc } from "react-promise-tracker"; // <--------- HERE
  
// Can be a string as well. Need to ensure each key-value pair ends with ;
const override = css`
  display: block;
  margin: 0 auto;
  border-color: red;
`;
 
class AwesomeComponent extends React.Component {
  constructor(props) {
    
    super(props);
    this.state = {
      loading: true
    };
  }
 
  render() {
    return (
        this.props.promiseInProgress && // <--------- HERE
        <div className="sweet-loading">
            <ClipLoader
            css={override}
            size={150}
            color={"#123abc"}
            loading={this.state.loading}
            />
        </div>
    );
  }
}
export default promiseTrackerHoc(AwesomeComponent); // <--------- HERE
从“React”导入React;
从“@emotion/core”导入{css};
从“react spinners/ClipLoader”导入ClipLoader;

从“react promise TrackerHoc”导入{promiseTrackerHoc};// 在本例中,您可以看到如何通过单击按钮来更改微调器的可见性,该微调器刚刚更改了本地状态


在本例中,您可以看到如何更改微调器的可见性,只需单击按钮即可更改本地状态



usePromiseTracker是什么?也许您需要使用函数组件而不是class@RamanNikitsenka是的,但很抱歉,代码中没有使用该选项。我还编辑了代码库。我已经创建了一个用于处理上面代码的示例,我在那里看到了微调器。您能描述一下您期望的行为吗?@SudobhJoshi我已经更新了示例并添加了更改状态的按钮,您可以将此添加为答案。usePromiseTracker是react hook吗?也许您需要使用函数组件而不是class@RamanNikitsenka是的,但很抱歉,代码中没有使用该选项。我还编辑了代码库。我已经创建了一个用于处理上面代码的示例,我在那里看到了微调器。您能描述一下您期望的行为吗?@SudobhJoshi我已经更新了示例并添加了更改状态的按钮,您可以将此添加为答案。感谢您的回答,假设我在代码库中根本不使用
react-promise-tracker
,在这种情况下,只有这么多代码无法工作?实际上,我试图实现的是,每个按钮/链接点击或数据加载都应该自动支持微调器。你回答给出
第24:9行:'props'没有定义没有undef
@SubodhJoshi,这是微调器/加载器的代码这只是一次代码,然后你只需要使用
trackPromise
,无论你在哪里需要显示loader,你都必须把它放进去,很抱歉我错过了
道具之前的
这个
,谢谢我是rectjs的新手。在JSF中,我们已经添加了一个公共位置微调器,它将适用于所有其他页面,所以我一直在寻找相同的页面。@SubodhJoshi,请检查一下这一次,我认为这将消除您的所有疑虑。因此,您的意思是在编写组件后,我必须从“react promise tracker”导入{trackPromise}
并在每个js文件中添加
promiseTrackerHoc
,我想在其中显示微调器?感谢您的回答,假设我根本不在代码库中使用
react promiseTrackerHoc
,在这种情况下,只有这么多代码不起作用?实际上,我试图实现的是,每个按钮/链接点击或数据加载都应该自动支持微调器。你回答给出
第24:9行:'props'没有定义没有undef
@SubodhJoshi,这是微调器/加载器的代码这只是一次代码,然后你只需要使用
trackPromise
,无论你在哪里需要显示loader,你都必须把它放进去,很抱歉我错过了
道具之前的
这个
,谢谢我是rectjs的新手。在JSF中,我们已经添加了一个公共位置微调器,它将适用于所有其他页面,所以我一直在寻找相同的页面。@SubodhJoshi,请检查一下这一次,我认为这将消除您的所有疑虑。因此,您的意思是在编写组件后,我必须从“react promise tracker”导入{trackPromise}
并在每个js文件中添加
promiseTrackerHoc
,我想在其中显示微调器?