Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
158
rated 0 times [  163] [ 5]  / answers: 1 / hits: 5256  / 5 Years ago, tue, october 1, 2019, 12:00:00

I am fetching data from backend using axios whenever I am trying to update hooks it is not updating.
The data is JSON from where I am extracting data and trying to set element. It might sound silly but can somebody tell me what is dependent array?



I keep getting this

Line 18: React Hook useEffect has a missing dependency: 'elements'. Either include it or remove the dependency array react-hooks/exhaustive-deps



Here is code



import React, { useEffect, useState } from 'react';
import './App.css';
import axios from 'axios';

function App() {
const [elements, setElements] = useState([]);

useEffect(() => {
const res = async () => {
const result = await axios.get('/data');
const data = result.data;
console.log(data);
setElements(elements => [...elements, data]);
console.log(elements);
};
res();
}, []);
console.log(elements.map(element => console.log(element)));
return <div className='App'>Hello</div>;
}

export default App;

More From » reactjs

 Answers
13

Just console.log outside your effect. You're already using the updater version of useState



 setElements(elements => [...elements, data])


The missing dependecy warning is coming from console.log(elements)



import React, { useEffect, useState } from 'react';
import './App.css';
import axios from 'axios';

function App() {
const [elements, setElements] = useState([]);

useEffect(() => {
const res = async () => {
const result = await axios.get('/data');
const data = result.data;
console.log(data);
setElements(elements => [...elements, data]);
};
res();
}, []);

console.log(elements);

return <div className='App'>Hello</div>;
}

export default App;

[#6063] Saturday, September 28, 2019, 5 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
minab

Total Points: 701
Total Questions: 104
Total Answers: 91

Location: Saint Pierre and Miquelon
Member since Fri, Jan 28, 2022
2 Years ago
;