I'm trying to bind AutoSizer and Masonry components in react-virtualized. My list of items lives in state and appears asynchronously in componentDidMount(). If I use simple anonymous arrow function for rendering Masonry, everything is OK. But If I use separate function like "renderMasonry", I get an empty result until I resize a window and trigger re-rendering. I don't understand why AutoSizer is not re-rendered itself in this case. Plunkr is here https://plnkr.co/edit/fmAqp1MOzlKGP96LeDjP
React Virtualized AutoSizer + Masonry doesn't render until resized
1.1k views Asked by 112358dev At
1
There are 1 answers
Related Questions in JAVASCRIPT
- Using Puppeteer to scrape a public API only when the data changes
- inline SVG text (js)
- An array of images and a for loop display the buttons. How to assign each button to open its own block by name?
- Storing the preferred font-size in localStorage
- Simple movie API request not showing up in the console log
- Authenticate Flask rest API
- Deploying sveltekit app with gunjs on vercel throws cannot find module './lib/text-encoding'
- How to request administrator rights?
- mp4 embedded videos within github pages website not loading
- Scrimba tutorial was working, suddenly stopped even trying the default
- In Datatables, start value resets to 0, when column sorting
- How do I link two models in mongoose?
- parameter values only being sent to certain columns in google sheet?
- Run main several times of wasm in browser
- Variable inside a Variable, not updating
Related Questions in REACTJS
- ussd reader in Recket Native module
- Teams tab application returns SSO error in mobile Outlook
- Github Pages Deployment deploys a blank page
- Is there any way to glow this bulb image like a real light bulb
- Optimize LCP ReactJs
- Page in React only renders elements after refreshing
- Unable to Post Form Data to MongoDB because of picturepath
- MERN Stack App - User Avatar Upload - 500 Error After Deployment on Render
- Hooks are not supported inside an async component error in nextjs project using useQuery
- How to change the Font Weight of a SelectValue component in React when a SelectItem is selected?
- On the server side, it returns undefined but on the client side, logs the values no problem
- Multilevel dropdown with checkboxes in Select component
- TypeScript Error only on big type only when assigned to a variable
- Deployment through app engine, cloud sql database, problem connecting with server code, doesn't connect
- Data is not filtering in props. Showing passdata.map is not a function
Related Questions in REACT-VIRTUALIZED
- Implementing collapsible toasts in react-virtualized
- scrollToRow() on List component with WindowScroller not working
- Bugged React virtualized list issue
- CSS Scrolling overflow content issue with absolute positioned items
- How to render doc to html converted data(html) into webpage
- Is getMenuProps necessary in React downshift autocomplete library?
- Why is my react-virtualized list not displaying scrollbar unless I make sure height is lower than rowCount*rowHeight?
- Virtualized (and synchronized) rows and columns in React
- React virtualized, Infinite Scroll - start at the bottom of List
- react-vertualize, scrollbar goes top directly when there is less data
- react-virtualized forceUpdateGrid method does not cause re-rendering with new data
- correct way to handle back event for the updated list in react native
- when loading control Component with custom menuList in react select the input-field is getting shorter
- onScroll is not working after React 18 upgrade
- How to combine React-Virtualized with Material UI grid or Bootstrap Gird?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
This is the key. An anonymous function gets recreated each time, so
AutoSizer'sshouldComponentUpdatesees a new value and returns true rather than false. (Near the top of the react-virtualized docs, there's a section titled "Pure Components" that's related to this.)In this case, the only 2 properties being passed to
AutoSizeraredisableHeightandchildren. If neither of these change between renders, thenAutoSizeritself will assume it's safe to skip re-rendering.In hindsight, I'm not sure it was a great idea to have
AutoSizerextendPureComponent, since the cost of re-rendering it is small and the potential for confusion is large. That being said, it's common for folks to use inline functions as children for react-virtualized components and this avoids the problem as explained above.