0

我从来没有使用过进度条,所以我试图通过拼凑各种来源并试图让它与 React 和 Reactstrap 一起工作来弄清楚。这对我来说似乎很有意义,但它不起作用。

这是 reactstrap 关于 <Progress />. 基本上,它需要一个value道具,所以我试图将它传递给一个方法,以便它可以动态更新,理论上应该使进度条移动。

https://reactstrap.github.io/components/progress/

但是,在我的情况下,条形图只更新到 5%,但console.log确实更新到了 100。

这是我的组件。我在这里做错了什么?

import React, { Component } from 'react';
import {
    Progress
} from 'reactstrap';

export default class SectionLoading extends Component {
    progressValue() {
        let width = 1;
        return setInterval(() => {
            if (width <= 100) {
                console.log(width);
                width++;
            }
        }, 10)
    }

    render() {
        return (
            <Progress value={this.progressValue()} />
        ); 
    }
}
4

2 回答 2

2

我认为 Progress 值应该采用数字而不是函数。那么,您能否尝试更改<Progress value={this.progressValue()} /><Progress value={this.state.width} /> ,然后在您的 progressValue 函数中使用this.setState({ width })来更新状态。

于 2018-03-06T05:21:58.077 回答
0
this.state = {
    loaded:0,
}

<React.Fragment>
  <Progress max="100" color="success" value={this.state.loaded} > 
   {Math.round(this.state.loaded,2) }%</Progress>
<React.Fragment>
于 2020-03-29T09:53:14.327 回答