{"action":"closed","issue":{"url":"https://api.github.com/repos/facebook/react-native/issues/20837","repository_url":"https://api.github.com/repos/facebook/react-native","labels_url":"https://api.github.com/repos/facebook/react-native/issues/20837/labels{/name}","comments_url":"https://api.github.com/repos/facebook/react-native/issues/20837/comments","events_url":"https://api.github.com/repos/facebook/react-native/issues/20837/events","html_url":"https://github.com/facebook/react-native/issues/20837","id":353887802,"node_id":"MDU6SXNzdWUzNTM4ODc4MDI=","number":20837,"title":"Why does onLayout take so long to complete?","user":{"login":"djErock","id":7953289,"node_id":"MDQ6VXNlcjc5NTMyODk=","avatar_url":"https://avatars3.githubusercontent.com/u/7953289?v=4","gravatar_id":"","url":"https://api.github.com/users/djErock","html_url":"https://github.com/djErock","followers_url":"https://api.github.com/users/djErock/followers","following_url":"https://api.github.com/users/djErock/following{/other_user}","gists_url":"https://api.github.com/users/djErock/gists{/gist_id}","starred_url":"https://api.github.com/users/djErock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djErock/subscriptions","organizations_url":"https://api.github.com/users/djErock/orgs","repos_url":"https://api.github.com/users/djErock/repos","events_url":"https://api.github.com/users/djErock/events{/privacy}","received_events_url":"https://api.github.com/users/djErock/received_events","type":"User","site_admin":false},"labels":[{"id":298626951,"node_id":"MDU6TGFiZWwyOTg2MjY5NTE=","url":"https://api.github.com/repos/facebook/react-native/labels/For%20Discussion","name":"For Discussion","color":"0052cc","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-08-24T18:40:42Z","updated_at":"2018-08-24T19:47:33Z","closed_at":"2018-08-24T19:47:33Z","author_association":"NONE","body":"---\r\n\r\n# For Discussion\r\n\r\n<!--\r\nI built a Data Table that has both sticky rows and sticky columns as well as has the ability to resize the columns as well. It's all done and working but I have to pre render all the cells in order to get sizing and positioning information to facilitate the requirements. This pre render is getting hosed because onLayout takes forever to complete its process. It is almost as if there is a setTimeout somewhere under the hood hosing the entire process not to mention onLayout completes after componentDidMount so I have to keep track of how many cells are rendered just to determine when it finally finishes its process. Can anyone explain what the hold up with onLayout is and why this process cannot be sped up or at the least fired async? Am I missing something here? Should I be running a pre renderer component hidden in the background? Seems a bit much but my only alternative at this point in order to truly get infinite scroll and still have dynamically sized rows/columns.... \r\n\r\n\r\nI propose making it to where at least the componentDidMount fires after onLayout finishes. At best make it to where the onLayout calls are fired all at once so they finish asynchronous. Thoughts? Suggestions?\r\n-->\r\n"}}
{"actor":{"display_login":"charpeni"}}