javascript - 每次点击都会 react 进度条

标签 javascript jquery reactjs

我对 React 还很陌生。我想问你。有什么方法可以让进度条随着每次点击而加载吗?我是说。每次点击都会给我 10% 的进度条,直到 100%,然后它将重置并重新开始计数,所以我需要点击 10 次才能获得 100%

第一次点击 10% 第二次点击 20% ...等等等等。 想做一些事情,比如当你得到 100% 时,你就会得到 1 分。 (每 10 次点击 = 1 分(分数)。

非常感谢!

最佳答案

不适合 StackOverflow 的问题,但我有空闲时间和兴趣。请阅读all of this .

  • 点击更改状态(加 10)
  • 状态决定div宽度

class ProgressBar extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      width: 0,
      score: 0
    };    
  }

  render() {
    const style = {
      width: this.state.width + '%'
    };
  
    return (
      <div className="wrapper" onClick={(e) => { this.handleClick(e); }}>
        {'Score: ' + this.state.score} <br />
        {this.state.width + '%'}
        <div className="bar" style={style} />
      </div>
    );
  }
  
  handleClick(e) {
    this.setState(state => {
      if (state.width + 10 === 100) {
        return { width: 0, score: state.score + 1 };
      }
      return { width: state.width + 10 };
    });
  }
}

ReactDOM.render(<ProgressBar />, document.getElementById('root'));
.wrapper {
  width: 100%;
  height: 300px;
  background: #eee;
  cursor: pointer;
}

.bar {
  width: 0;
  height: 20px;
  transition: width 0.3s;
  background: #ec6161;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.0/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.0/umd/react-dom.production.min.js"></script>

<div id="root" />

关于javascript - 每次点击都会 react 进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53762107/

相关文章:

javascript - 按钮onclick,执行JS函数再执行JS代码

javascript - 使用 jQuery 动态更改 div 的 HTML 会导致 HTML 编码丢失

jquery - 在区域图上叠加图像

javascript - 我收到警报错误的 js fiddle 配置

javascript - localstorage.getitem ('key' ) 有时返回 null - 在 react 应用程序中

javascript - React中一键连续调用函数

javascript - 使用服务器端渲染将 Web 应用程序导出为 pdf

javascript - Socket.io-Stream 不发送给客户端

javascript - 如何查看提交表单的 url 输出?

javascript - 在 asp.net 按钮上使用 JQUERY 从 ajax 模态扩展器单击重定向到 asp.net 页面