Learn how to create smooth morphing effects between different blend modes using opacity transitions.
const [progress, setProgress] = useState(0);
const blendModes = ['multiply', 'screen', 'overlay'];
const currentMode = blendModes[Math.floor(progress * blendModes.length)];
const nextMode = blendModes[(currentIndex + 1) % blendModes.length];
const localProgress = (progress * blendModes.length) % 1;
<div style={{ mixBlendMode: currentMode, opacity: 1 - localProgress }} />
<div style={{ mixBlendMode: nextMode, opacity: localProgress }} />