React non-blocking rendering of big chunks of dataJavascript ajax Lazy Loading and functions organizationDynamically Rendering a React componentReact “after render” code?Best practice when not needed to render the componentReact onClick function fires on renderNon blocking render in ReactJSRxJS: Chunk a big array using timed interval and use it for renderingReact / Webpack / Express Issues when rendering server sideReact js show modal dialog when during componentDidMount()Table Editing React without Rendering

How do I deal with an unproductive colleague in a small company?

What are these boxed doors outside store fronts in New York?

Did Shadowfax go to Valinor?

Which country benefited the most from UN Security Council vetoes?

Was any UN Security Council vote triple-vetoed?

Replacing matching entries in one column of a file by another column from a different file

Modeling an IP Address

Fully-Firstable Anagram Sets

How is the claim "I am in New York only if I am in America" the same as "If I am in New York, then I am in America?

Theorems that impeded progress

Languages that we cannot (dis)prove to be Context-Free

Paid for article while in US on F-1 visa?

How to determine what difficulty is right for the game?

Does detail obscure or enhance action?

Character reincarnated...as a snail

LWC SFDX source push error TypeError: LWC1009: decl.moveTo is not a function

How can I prevent hyper evolved versions of regular creatures from wiping out their cousins?

Intersection point of 2 lines defined by 2 points each

Could an aircraft fly or hover using only jets of compressed air?

Approximately how much travel time was saved by the opening of the Suez Canal in 1869?

Is it tax fraud for an individual to declare non-taxable revenue as taxable income? (US tax laws)

Is it unprofessional to ask if a job posting on GlassDoor is real?

I'm flying to France today and my passport expires in less than 2 months

Why doesn't H₄O²⁺ exist?



React non-blocking rendering of big chunks of data


Javascript ajax Lazy Loading and functions organizationDynamically Rendering a React componentReact “after render” code?Best practice when not needed to render the componentReact onClick function fires on renderNon blocking render in ReactJSRxJS: Chunk a big array using timed interval and use it for renderingReact / Webpack / Express Issues when rendering server sideReact js show modal dialog when during componentDidMount()Table Editing React without Rendering






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








8















Recently I started to learn to react and wondering, is there some kind of pattern for non-blocking UI thread rendering for big data. Let's say, we take this example:
, click create a lot of items, set number for, let's say 10000, we will get frozen UI for almost 10 seconds. It updates smoothly with observables, once it is done rendering, I get that, but is there a way to render it smoothly, in chunks?



Usually, you set up some kind of array, slice it by, let's say 50, process those and setTimeout for 0 to slice another 50 and so on. Repeat til array's length is 0. Is there a pattern for react components for doing that? Maybe some plugin or until mixin?










share|improve this question






























    8















    Recently I started to learn to react and wondering, is there some kind of pattern for non-blocking UI thread rendering for big data. Let's say, we take this example:
    , click create a lot of items, set number for, let's say 10000, we will get frozen UI for almost 10 seconds. It updates smoothly with observables, once it is done rendering, I get that, but is there a way to render it smoothly, in chunks?



    Usually, you set up some kind of array, slice it by, let's say 50, process those and setTimeout for 0 to slice another 50 and so on. Repeat til array's length is 0. Is there a pattern for react components for doing that? Maybe some plugin or until mixin?










    share|improve this question


























      8












      8








      8


      3






      Recently I started to learn to react and wondering, is there some kind of pattern for non-blocking UI thread rendering for big data. Let's say, we take this example:
      , click create a lot of items, set number for, let's say 10000, we will get frozen UI for almost 10 seconds. It updates smoothly with observables, once it is done rendering, I get that, but is there a way to render it smoothly, in chunks?



      Usually, you set up some kind of array, slice it by, let's say 50, process those and setTimeout for 0 to slice another 50 and so on. Repeat til array's length is 0. Is there a pattern for react components for doing that? Maybe some plugin or until mixin?










      share|improve this question
















      Recently I started to learn to react and wondering, is there some kind of pattern for non-blocking UI thread rendering for big data. Let's say, we take this example:
      , click create a lot of items, set number for, let's say 10000, we will get frozen UI for almost 10 seconds. It updates smoothly with observables, once it is done rendering, I get that, but is there a way to render it smoothly, in chunks?



      Usually, you set up some kind of array, slice it by, let's say 50, process those and setTimeout for 0 to slice another 50 and so on. Repeat til array's length is 0. Is there a pattern for react components for doing that? Maybe some plugin or until mixin?







      javascript performance reactjs






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Dec 28 '18 at 7:07









      the_ultimate_developer

      1,045823




      1,045823










      asked Feb 4 '16 at 6:20









      user1929437user1929437

      7917




      7917






















          2 Answers
          2






          active

          oldest

          votes


















          0














          For a similar problem, I chunked my data and then serialized the processing with reduce and promises:



          chunks.reduce( (previousPromise, nextChunk) => 
          return previousPromise.then(processChunkAndUpdateComponentStateAsPromise(nextChunk));
          , Promise.resolve());





          share|improve this answer






























            0














            For lists as large as 10,000 items I would recommend using a virtualized list. A popular implementation of this for React is react-virtualized: http://bvaughn.github.io/react-virtualized/#/components/List.



            The reason for this is that a virtualized list will only render what is visible, so it will be fast even if you have a lot of data to display. You could also split your initial render into batches, but if you do this you are likely to run into other performance issues (due to too much DOM, too many observables, etc).






            share|improve this answer























              Your Answer






              StackExchange.ifUsing("editor", function ()
              StackExchange.using("externalEditor", function ()
              StackExchange.using("snippets", function ()
              StackExchange.snippets.init();
              );
              );
              , "code-snippets");

              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "1"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader:
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              ,
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );













              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f35193867%2freact-non-blocking-rendering-of-big-chunks-of-data%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              0














              For a similar problem, I chunked my data and then serialized the processing with reduce and promises:



              chunks.reduce( (previousPromise, nextChunk) => 
              return previousPromise.then(processChunkAndUpdateComponentStateAsPromise(nextChunk));
              , Promise.resolve());





              share|improve this answer



























                0














                For a similar problem, I chunked my data and then serialized the processing with reduce and promises:



                chunks.reduce( (previousPromise, nextChunk) => 
                return previousPromise.then(processChunkAndUpdateComponentStateAsPromise(nextChunk));
                , Promise.resolve());





                share|improve this answer

























                  0












                  0








                  0







                  For a similar problem, I chunked my data and then serialized the processing with reduce and promises:



                  chunks.reduce( (previousPromise, nextChunk) => 
                  return previousPromise.then(processChunkAndUpdateComponentStateAsPromise(nextChunk));
                  , Promise.resolve());





                  share|improve this answer













                  For a similar problem, I chunked my data and then serialized the processing with reduce and promises:



                  chunks.reduce( (previousPromise, nextChunk) => 
                  return previousPromise.then(processChunkAndUpdateComponentStateAsPromise(nextChunk));
                  , Promise.resolve());






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Mar 9 at 1:30









                  MarkusMarkus

                  1,21311230




                  1,21311230























                      0














                      For lists as large as 10,000 items I would recommend using a virtualized list. A popular implementation of this for React is react-virtualized: http://bvaughn.github.io/react-virtualized/#/components/List.



                      The reason for this is that a virtualized list will only render what is visible, so it will be fast even if you have a lot of data to display. You could also split your initial render into batches, but if you do this you are likely to run into other performance issues (due to too much DOM, too many observables, etc).






                      share|improve this answer



























                        0














                        For lists as large as 10,000 items I would recommend using a virtualized list. A popular implementation of this for React is react-virtualized: http://bvaughn.github.io/react-virtualized/#/components/List.



                        The reason for this is that a virtualized list will only render what is visible, so it will be fast even if you have a lot of data to display. You could also split your initial render into batches, but if you do this you are likely to run into other performance issues (due to too much DOM, too many observables, etc).






                        share|improve this answer

























                          0












                          0








                          0







                          For lists as large as 10,000 items I would recommend using a virtualized list. A popular implementation of this for React is react-virtualized: http://bvaughn.github.io/react-virtualized/#/components/List.



                          The reason for this is that a virtualized list will only render what is visible, so it will be fast even if you have a lot of data to display. You could also split your initial render into batches, but if you do this you are likely to run into other performance issues (due to too much DOM, too many observables, etc).






                          share|improve this answer













                          For lists as large as 10,000 items I would recommend using a virtualized list. A popular implementation of this for React is react-virtualized: http://bvaughn.github.io/react-virtualized/#/components/List.



                          The reason for this is that a virtualized list will only render what is visible, so it will be fast even if you have a lot of data to display. You could also split your initial render into batches, but if you do this you are likely to run into other performance issues (due to too much DOM, too many observables, etc).







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Mar 12 at 21:06









                          JoruJoru

                          3,42311513




                          3,42311513



























                              draft saved

                              draft discarded
















































                              Thanks for contributing an answer to Stack Overflow!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid


                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.

                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f35193867%2freact-non-blocking-rendering-of-big-chunks-of-data%23new-answer', 'question_page');

                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Identity Server 4 is not redirecting to Angular app after login2019 Community Moderator ElectionIdentity Server 4 and dockerIdentityserver implicit flow unauthorized_clientIdentityServer Hybrid Flow - Access Token is null after user successful loginIdentity Server to MVC client : Page Redirect After loginLogin with Steam OpenId(oidc-client-js)Identity Server 4+.NET Core 2.0 + IdentityIdentityServer4 post-login redirect not working in Edge browserCall to IdentityServer4 generates System.NullReferenceException: Object reference not set to an instance of an objectIdentityServer4 without HTTPS not workingHow to get Authorization code from identity server without login form

                              2005 Ahvaz unrest Contents Background Causes Casualties Aftermath See also References Navigation menue"At Least 10 Are Killed by Bombs in Iran""Iran"Archived"Arab-Iranians in Iran to make April 15 'Day of Fury'"State of Mind, State of Order: Reactions to Ethnic Unrest in the Islamic Republic of Iran.10.1111/j.1754-9469.2008.00028.x"Iran hangs Arab separatists"Iran Overview from ArchivedConstitution of the Islamic Republic of Iran"Tehran puzzled by forged 'riots' letter""Iran and its minorities: Down in the second class""Iran: Handling Of Ahvaz Unrest Could End With Televised Confessions""Bombings Rock Iran Ahead of Election""Five die in Iran ethnic clashes""Iran: Need for restraint as anniversary of unrest in Khuzestan approaches"Archived"Iranian Sunni protesters killed in clashes with security forces"Archived

                              Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme