【发布时间】:2020-07-03 14:03:26
【问题描述】:
我想合并两个名为 Data 和 District 值的状态并创建一个名为 test 的单个状态。因为我从不同的 API 获取两个状态值。我无法使单个状态合并以下状态的数据,我尝试了但是当我尝试合并两个状态值时,我得到一个状态值但无法获得下一个状态值,因为我尝试使用扩展运算符但仍然无法解决问题。以下是我的代码:请帮助解决:
import React, { useState, useEffect } from 'react';
import Axios from 'axios';
export default function Testmap() {
const [Data, setData] = useState([]);//fetched data
const [isLoading, setIsloading] = useState(true);
const [District, setDistrict] = useState([]);
const [test, setTest] = useState({
data: [],
districts: []
});
useEffect(() => {
//fetching data from api
Axios.get('https://covid19wst.yilab.org.np/api/v1/form')
.then(res => {
setData(res.data)
setTest({ ...test, data: res.data })
setIsloading(false)
})
.catch(err => {
console.log(err);
})
Axios.get('https://bipad.gov.np/api/v1/district/')
.then(res => {
setDistrict(res.data.results)
setTest({ ...test, districts: res.data.results })
setIsloading(false)
})
.catch(err => {
console.log(err);
})
}, [])
console.log(isLoading);
console.log("data", Data);
console.log("districts>>", District);
console.log("test>>>", test);
return (
<div>
<h2>Hello</h2>
</div>
)
}
在上面的输出中,我尝试在单个状态测试中保留数据和区域的两个状态值,但是当代码运行时,当我使用扩展运算符保留先前值时,我无法使用先前值获取更新值。仍然是先前的值没有保存,请问如何解决?请帮忙。
【问题讨论】:
标签: javascript arrays reactjs rxjs frontend