I have made a tab-component and a progressbar with 3 tabs. When i select the first tab i want my progressbar to be at 33%, second tab 66% and third 100%.
I need some help figuring out how to make my progress-bar change it’s value when i change tabs. The progress-meter fills up when you give a value of 0-100 in the component props.
So.. should i use redux to track the value or what do you guys suggest. Thanks a billion
Advertisement
Answer
You can just set the progress value in the state on click of the tab items like below
function TabProgress() { let [progress, setProgress] = useState(0); return ( <> <ul> <li className="xxx" onClick={() => setProgress(100 / 3)}>A</li> <li className="xxx" onClick={() => setProgress(100 / 2)}>B</li> <li className="xxx" onClick={() => setProgress(100 / 1)}>C</li> </ul> <ProgressBar width="xxx" value={progress} /> </> ) }
You can also render <li>
dynamically to create a proper component
<ul> {props.tabs.map((tab, i) => ( <li className="xxx" key={tab} onClick={() => setProgress(100 / props.tabs.length - i)}>{tab}</li> ))} </ul>