'Updating the useState values automatically in react js?
I have a usestate array object called mo, which gets the data from an rest api from get request. I use useEffect for getting the data.
const [mo, UpdateMO] = useState([{}]);
I will be creating an item by post request and that newly created item is stored in tempArray. This newly created item is appended to the mo array object.
UpdateMO([...mo], tempArray);
I show all the values of mo in a table. It is getting updated only once a re-render or refresh is taking place. On refreshing I would be going back to the homepage. So, how can I refresh or re-render the mo so that on creating a new item it automatically re-renders the mo.
Solution 1:[1]
Setting state will be done asynchronously. When you want to update state, you can grab the previous values in the state to combine with the new values.
Setting state also triggers a re-render.
// initialize state with an empty array
const [mo, setMo] = useState([]);
// get newValues and update state
setMo((previousValues) => [...previousValues, newValues]);
Solution 2:[2]
Use redux for that to maintain data and update data
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Tomas Vancoillie |
Solution 2 | Mahesh |