{"action":"created","issue":{"url":"https://api.github.com/repos/omniscientjs/omniscient/issues/55","labels_url":"https://api.github.com/repos/omniscientjs/omniscient/issues/55/labels{/name}","comments_url":"https://api.github.com/repos/omniscientjs/omniscient/issues/55/comments","events_url":"https://api.github.com/repos/omniscientjs/omniscient/issues/55/events","html_url":"https://github.com/omniscientjs/omniscient/issues/55","id":57415923,"number":55,"title":"ShouldComponentUpdate throws warnings when Immutable.JS objects are stored in state or props","user":{"login":"skevy","id":131916,"avatar_url":"https://avatars.githubusercontent.com/u/131916?v=3","gravatar_id":"","url":"https://api.github.com/users/skevy","html_url":"https://github.com/skevy","followers_url":"https://api.github.com/users/skevy/followers","following_url":"https://api.github.com/users/skevy/following{/other_user}","gists_url":"https://api.github.com/users/skevy/gists{/gist_id}","starred_url":"https://api.github.com/users/skevy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skevy/subscriptions","organizations_url":"https://api.github.com/users/skevy/orgs","repos_url":"https://api.github.com/users/skevy/repos","events_url":"https://api.github.com/users/skevy/events{/privacy}","received_events_url":"https://api.github.com/users/skevy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-02-12T04:26:56Z","updated_at":"2015-02-13T13:13:22Z","closed_at":null,"body":"This is slightly different issue than #41 - I don't want to store _cursors_ in state, just immutable objects instead of mutable ones.\r\n\r\nUnfortunately, because somewhere in lodash's isEqual method, it uses the \"length\" property, which is going to be deprecated in a future version of Immutable.JS https://github.com/facebook/immutable-js/wiki/Upgrading-to-Immutable-v3#size-from-length, it throws a warning anytime the function is called with Immutable.JS objects.\r\n\r\nI'm not sure what exactly can be done about this, off the top of my head. But I wanted to flag it as an issue and put it up for discussion, as I feel like it's kind of important that we support putting immutable objects in state and props.\r\n\r\nP.S.: I'm of course aware that I could override shouldComponentUpdate to make it so that, if I'm consistent in using all Immutable values for any deep structures in my state/props, i could just do a shallow equal (or just use PureRenderMixin, I suppose). I just think it'd be nice to include support in this library seeing as we're encouraging the use of immutable data structures throughout the rest of the application."},"comment":{"url":"https://api.github.com/repos/omniscientjs/omniscient/issues/comments/74251344","html_url":"https://github.com/omniscientjs/omniscient/issues/55#issuecomment-74251344","issue_url":"https://api.github.com/repos/omniscientjs/omniscient/issues/55","id":74251344,"user":{"login":"mikaelbr","id":606374,"avatar_url":"https://avatars.githubusercontent.com/u/606374?v=3","gravatar_id":"","url":"https://api.github.com/users/mikaelbr","html_url":"https://github.com/mikaelbr","followers_url":"https://api.github.com/users/mikaelbr/followers","following_url":"https://api.github.com/users/mikaelbr/following{/other_user}","gists_url":"https://api.github.com/users/mikaelbr/gists{/gist_id}","starred_url":"https://api.github.com/users/mikaelbr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikaelbr/subscriptions","organizations_url":"https://api.github.com/users/mikaelbr/orgs","repos_url":"https://api.github.com/users/mikaelbr/repos","events_url":"https://api.github.com/users/mikaelbr/events{/privacy}","received_events_url":"https://api.github.com/users/mikaelbr/received_events","type":"User","site_admin":false},"created_at":"2015-02-13T13:13:22Z","updated_at":"2015-02-13T13:13:22Z","body":"For now, you can switch out `isCursor` and `unCursor` defaults and use Omniscient with different immutable libraries if you want. We have some sort of dependency, but not a hard one."}}