It seems like there's an infinite loop that `<onChange name={value}/>` throws if the watched value happens to be NaN