JSFiddle - React, Tailwind, and code Playground

JavaScript

/*
// no closure
for(var i = 0; i < 5; i++){
    var x = i;
    setTimeout(function(){
        alert('var: '+x); // always 4
    },10);
}*/


// closure
for(var i = 0; i < 5; i++){
    (function(x){
        setTimeout(function(){
            alert('closure: '+x); // correct value
        },10);
    })(i);
}