Won't that cause the element to get a different key every time render() is called, causing React to think each is always a new element thus throwing away the state every render?
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.