As a side note, I use uniqueId() from the venerable underscore.js utility lib (last version is 5,7kb only).
But... the other problem with _.uniqueId is that in an isomorphic setup your server will just keep counting up and up while your client will start from 0 on every page load. So the first time you reinflate React on the client side the checksums won't match and will cause a full-page re-render.