score:1
Did you try https://www.npmjs.com/package/react-virtualized I used it in a project where I was capturing dozen of events. The list is growing and growing and this component helped me render all of them. I'm not sure how Redux Form works but if it is based on mounting then I guess this is a good option.
score:2
Existing open-source form libraries seem to not work well when getting into this kind of complexity. We implemented a number of optimisations by building our own form library, but it's possible that one or more of these ideas you may be able to use with redux form.
We mount a multitude of form & other redux attached components (in the order of thousands), which all do validation when they get mounted. Our architecture required all components to be mounted at once. Each component may need to update the state multiple times when they get mounted. This is not quick, but these are the optimisations we used to make this seem quick for 1000+ controls:
Each component mounts in a way which checks if it really needs to dispatch something right now, or if it can wait until later. If the value in the state is wrong, or the current value is invalid - it will still cause a dispatch, otherwise it will defer other updates for later (like when the user focuses it).
Implemented a batch reducer which can process multiple actions in a single dispatch. This means if a component does need to perform several actions on mount, at most it will only send 1 dispatch message instead of one dispatch per action.
Debouncing react re-renders using a redux batch middleware. This means that react will be triggered to render less often when a big redux update is happening. We trigger listeners on the leading and the falling edge of redux updates, which means that react will update on the first dispatch, and every 500-1000ms after that until there are no more updates happening. This improved performance for us a lot, but depending on how your controls work, this can also make it look a bit laggy (see next item for solution)
Local control state. Each form control has a local state and responds to user interaction immediately, and will lazily update the redux state when the user tabs out of the control. This makes things seem fast and results in less redux updates. (redux updates are expensive!!)
I'm not sure any of this will help you, and I'm not even sure that the above was smart or recommended - but it worked really well for us and I hope it can give you some ideas.
Also, if you can get away with mounting less components (pagination etc), you definitely should do that instead. We were limited in our choices by some early architecture choices and were forced to press on and this is what we came up with.
Source: stackoverflow.com
Related Query
- Efficiently rendering a large number of Redux Form Fields?
- Auto save form fields in react and redux
- Efficiently rendering large list of data in React Select
- Handling number input with Redux Form does strange things
- Do partial reset of redux form fields
- Render Redux Form fields programmatically
- How to use Normalize in Redux - Form Fields component
- How to set focus on rendering redux form dynamically created in loops
- Dealing with large amount of form fields in React using Hooks
- React final form disables fields without redux
- How to disable entire redux form after submitting and then re-enable it after clearing all fields
- Rendering material-ui-next Checkbox inside a Redux Form
- Redux Form - FieldsArray - fields is empty, length is 0
- update depth exceeded using redux form fields array
- How to validate field when rendering same field multiple time with different name id in redux form
- React js rerender of large number of components in a form
- reactjs material-ui and redux form fields -- creating component
- Redux Form decorator not working, so can't initialize fields
- React + Redux - What's the best way to handle CRUD in a form component?
- Get version number from package.json in React Redux (create-react-app)
- Clear and reset form input fields
- Prevent react component from rendering twice when using redux with componentWillMount
- How to reset initial value in redux form
- Redux Form - initialValues not updating with state
- Error withRef is removed. To access the wrapped instance, use a ref on the connected component when using Redux Form
- Redux form defaultValue
- Set value in field in redux form
- How do you pass in a dynamic form name in redux form?
- How to clear some fields in form - Redux-Form
- Submit button from outside Redux Form v6.0.0
More Query from same tag
- How should I map over two arrays without ruining the order of rendered items?
- Converting the architecture of a Firebase snapshot value
- Show all variations of a component on a single page in React Storybook but still have Knobs?
- Reactstrap Navbar align items right
- How to add a link in Leaflet popup?
- Controller submitting undefined with React Select
- redux state in componentWillRecieveProps issue with forward and back button
- Component not re-rendering when nested observable changes
- reactjs - this is not a function error on upgrade
- How to fix type inference for a component variable in a jest Mount test built with reactjs?
- String set in localStorage gets as object
- How to handle multiple groups of radio button in react?
- Link tag inside BrowserRouter changes only the URL, but doesn't render the component
- Add a child `div` component on button click (ReactJS)
- How to keep the index in a React.useState?
- GraphQl query issue
- ReactJS get JSON from Laravel localhost xhr.js error
- How to create additional routes in express for application configured for React-Router?
- How to remove element's ref after filtering it from the list
- Submit form on prop value changing
- React-redux component update state attributes after async saga calls from reducer
- Fetching json api using react ( useeffect )
- conditionally render !important inline style
- Redux-Toolkit createAsyncThunk Dispatch is showing as undefined
- Components called by API won't render
- Typescript - How to get a subset of properties from an object into a variable based on an interface
- How to fix React app dependencies failing on AWS?
- Styling element inside class MUI
- Hamburger Menu position in React Native
- How should I put 'key'?: Warning: Each child in a list should have a unique "key" prop