{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/react/issues/10202","repository_url":"https://api.github.com/repos/facebook/react","labels_url":"https://api.github.com/repos/facebook/react/issues/10202/labels{/name}","comments_url":"https://api.github.com/repos/facebook/react/issues/10202/comments","events_url":"https://api.github.com/repos/facebook/react/issues/10202/events","html_url":"https://github.com/facebook/react/issues/10202","id":243558520,"number":10202,"title":"Implement additional async APIs in preparation for v16","user":{"login":"acdlite","id":3624098,"avatar_url":"https://avatars0.githubusercontent.com/u/3624098?v=4","gravatar_id":"","url":"https://api.github.com/users/acdlite","html_url":"https://github.com/acdlite","followers_url":"https://api.github.com/users/acdlite/followers","following_url":"https://api.github.com/users/acdlite/following{/other_user}","gists_url":"https://api.github.com/users/acdlite/gists{/gist_id}","starred_url":"https://api.github.com/users/acdlite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acdlite/subscriptions","organizations_url":"https://api.github.com/users/acdlite/orgs","repos_url":"https://api.github.com/users/acdlite/repos","events_url":"https://api.github.com/users/acdlite/events{/privacy}","received_events_url":"https://api.github.com/users/acdlite/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"acdlite","id":3624098,"avatar_url":"https://avatars0.githubusercontent.com/u/3624098?v=4","gravatar_id":"","url":"https://api.github.com/users/acdlite","html_url":"https://github.com/acdlite","followers_url":"https://api.github.com/users/acdlite/followers","following_url":"https://api.github.com/users/acdlite/following{/other_user}","gists_url":"https://api.github.com/users/acdlite/gists{/gist_id}","starred_url":"https://api.github.com/users/acdlite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acdlite/subscriptions","organizations_url":"https://api.github.com/users/acdlite/orgs","repos_url":"https://api.github.com/users/acdlite/repos","events_url":"https://api.github.com/users/acdlite/events{/privacy}","received_events_url":"https://api.github.com/users/acdlite/received_events","type":"User","site_admin":false},"assignees":[{"login":"acdlite","id":3624098,"avatar_url":"https://avatars0.githubusercontent.com/u/3624098?v=4","gravatar_id":"","url":"https://api.github.com/users/acdlite","html_url":"https://github.com/acdlite","followers_url":"https://api.github.com/users/acdlite/followers","following_url":"https://api.github.com/users/acdlite/following{/other_user}","gists_url":"https://api.github.com/users/acdlite/gists{/gist_id}","starred_url":"https://api.github.com/users/acdlite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acdlite/subscriptions","organizations_url":"https://api.github.com/users/acdlite/orgs","repos_url":"https://api.github.com/users/acdlite/repos","events_url":"https://api.github.com/users/acdlite/events{/privacy}","received_events_url":"https://api.github.com/users/acdlite/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2017-07-17T23:36:28Z","updated_at":"2017-07-18T00:37:47Z","closed_at":null,"body":"- [ ] `ReactDOM`/`ReactNative.activeUpdates`. Similar to what we currently call `ReactDOM.unstable_syncUpdates` except updates are batched, and flushed at the end of the batch regardless of whether it's nested inside `batchedUpdates`.\r\n- [ ] Opt-in subtree to async mode\r\n  - [x] Static flag on class components (`unstable_asyncUpdates`)\r\n  - [ ] `<React.unstable_Async />` component type\r\n\r\nItems we're considering for minor 16 releases, but have decided not to ship in 16.0:\r\n\r\n- Commit phase version of `willMount`/`willUpdate` (fires even for any deep set state in the subtree, and replaces the global `prepareForCommit`/`resetAfterCommit` host configs)\r\n- Passive versions of `didMount`/`didUpdate`"},"comment":{"url":"https://api.github.com/repos/facebook/react/issues/comments/315924372","html_url":"https://github.com/facebook/react/issues/10202#issuecomment-315924372","issue_url":"https://api.github.com/repos/facebook/react/issues/10202","id":315924372,"user":{"login":"acdlite","id":3624098,"avatar_url":"https://avatars0.githubusercontent.com/u/3624098?v=4","gravatar_id":"","url":"https://api.github.com/users/acdlite","html_url":"https://github.com/acdlite","followers_url":"https://api.github.com/users/acdlite/followers","following_url":"https://api.github.com/users/acdlite/following{/other_user}","gists_url":"https://api.github.com/users/acdlite/gists{/gist_id}","starred_url":"https://api.github.com/users/acdlite/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acdlite/subscriptions","organizations_url":"https://api.github.com/users/acdlite/orgs","repos_url":"https://api.github.com/users/acdlite/repos","events_url":"https://api.github.com/users/acdlite/events{/privacy}","received_events_url":"https://api.github.com/users/acdlite/received_events","type":"User","site_admin":false},"created_at":"2017-07-18T00:37:47Z","updated_at":"2017-07-18T00:37:47Z","body":"> So as long as we're in compat mode activeUpdates is effectively a no-op?\r\n\r\nAlmost...\r\n\r\n```js\r\nthis.setState(A);\r\nthis.activeUpdates(() => {\r\n  this.setState(B);\r\n  this.setState(C);\r\n});\r\nthis.setState(D);\r\n```\r\n\r\nIn sync mode, B and C are batched. In async mode, B and C have task priority."}}
{"actor":{"display_login":"acdlite"}}