← React Beginner Questions - Set 1 Q7
React Beginner Questions - Set 1
The contrast is easiest to see side by side: imperative code tells the browser each step, declarative code describes the end state.
// Imperative: you own every step
function setLabelImperative(isActive) {
const el = document.querySelector('#status');
if (isActive) {
el.textContent = 'Active';
el.classList.add('on');
el.classList.remove('off');
} else {
el.textContent = 'Inactive';
el.classList.add('off');
el.classList.remove('on');
}
}
// Declarative: React derives the DOM from state
function Status({ isActive }) {
return <span className={isActive ? 'on' : 'off'}>
{isActive ? 'Active' : 'Inactive'}
</span>;
}