【发布时间】:2021-11-17 14:19:35
【问题描述】:
这是我的代码,它向我的后端 (mySQL) 发送 GET 请求并获取数据。我正在使用 useState 来提取和设置 response.data 。
const baseURL = 'http://localhost:5000/api/user/timesheet/13009';
const [DataArray , setDataArray] = useState([]);
axios.get(baseURL).then( (response)=>{
setDataArray(response.data);
});
但是 useState 一直在向我的服务器发送 GET 请求,我只想在单击按钮或执行其他功能时重新发送 GET 请求并重新渲染。
有没有更好的方法来存储 response.data,如果没有,我该如何停止 useState 的自动重新渲染并使其仅在我想要的时候重新渲染。
【问题讨论】:
-
您能在此处添加此组件的完整代码吗?看起来您正在渲染块中调用该函数,这会在调用 setDataArray 后立即导致重新渲染
-
你可以使用 Redux 来存储它。并使用 useSelector 从状态中捕获这些数据。
标签: javascript arrays reactjs axios use-state