Languages
[Edit]
DE

React - einen eigenen animierten Fortschrittsbalken erstellen

3 points
Created by:
Nikki
10520

Hallo! 👋 😊

Heute will ich einen einfachen animierten Fortschrittsbalken zeigen, den ich vor kurzem in React erstellt habe.

Das Endergebnis dieses Beitrags:

Animowany pasek postępu w React
Animierter Fortschrittsbalken in React

Unten präsentiere ich meine Lösung für einen einfachen Fortschrittsbalken, sowie Beispielstile dafür 📊🎨. 

In dieser Lösung verwende ich:

  • useState - Hook, um den Zustand des Fortschrittsbalken zu verwalten,
  • width - die Breite des Fortschrittsbalkens, die in Abhängigkeit vom Container in Prozent gemessen wird - dieser Trick ermöglicht, den Fortschritt von 0% bis 100% einfach anzuzeigen,
  • Beispieltasten, die die Methode  setProgress() ausführen, um zu zeigen, wie der Fortschrittsbalken funktioniert (die Animation zwischen den Umschaltungen ergibt einen tollen Effekt).

Ein praktisches Beispiel: 

// ONLINE-RUNNER:browser;

// import React from 'react';
// import ReactDOM from 'react-dom';

const containerStyle = {
  	border: '1px solid silver',
  	background: '#ededed'
};

const contentStyle = {
  	background: '#00cc00',
  	height: '24px',
  	textAlign: 'center',
  	lineHeight: '24px',
  	fontFamily: 'sans-serif',
  	transition: '0.3s'
};

const ProgressBar = ({progress}) => {
  	const state = `${progress}%`;
    return (
      <div style={containerStyle}>
        <div style={{...contentStyle, width: state}}>
          {progress > 5 ? state : ''}
        </div>
      </div>
    );
};

const App = () => {
  const [progress, setProgress] = React.useState(25);
  return (
    <div>
      <ProgressBar progress={progress} />
      <br />
      <div>
        <button onClick={() => setProgress(0)}>0%</button>
        <button onClick={() => setProgress(5)}>5%</button>
        <button onClick={() => setProgress(15)}>15%</button>
        <button onClick={() => setProgress(50)}>50%</button>
        <button onClick={() => setProgress(75)}>75%</button>
        <button onClick={() => setProgress(100)}>100%</button>
      </div>
    </div>
  );
};

const root = document.querySelector('#root');
ReactDOM.render(<App />, root);

Siehe auch

Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.
Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join