react 작업입니다.
axios.get을 통해 데이터 10개를 호출하고 그것을 map으로 뿌려줬습니다.
각각 뿌려진 아이템들의 id값을 가지고
axios.post를 통해 새로운 데이터를 가져와서 뿌려준 map에 데이터를 넣어줘야하는데
이미 뿌려진 map의 값을 뽑는 방법과
뽑은 데이터를 통해 받아온 값을 각각 화면에 보여주는 방법을 잘 모르겠습니다.
const [data, useData] = useState([]) // 받아온 데이터가 10개
const getData = async () => { // 초기 데이터 배열 가져오기
try {
const result = await axios.get(
"url/getlistData"
)
setData(result.data)
} catch (e) {
console.log("error", e)
}
}
...
return (
{data.map((el) => (
<div key={el.id}>
<div>{el.name}</div>
<div>{el.price}</div>
<div>{상태}</div>
</div>
))}
)
이렇게 10개의 객체 데이터가 담긴 배열을 가지고 와서 map으로 뿌려주면
각각 생성된 id값을 가지고와서
const getData2 = async () => {
try {
const result2 = await axios.post(
"url/postStatus",
id : id // id: id를 id로 간단하게 하는 방법은 알고 있습니다.
)
console.log("result2", result2) // 해당 id값을 post하면 {상태}의 값이 나옵니다.
} catch (e) {
console.log("error", e)
}
}
저렇게 넣어주면 해당 값이 나옵니다.
다만 문제는 저 id 값에는 map으로 생성된 id 배열값을 넣을 수 없고
id : 1 (o)
id : [1,2,3,4,5,6,7,8,9,10] (x)
하나씩 넣어서 결과를 얻고 그것을 넣어줘야하는데요
api 수정은 할 수 없어서 지푸라기라도 잡고자 여기에 글을 올립니다.
제발 도와주세요…
** 임의로 작성한 코드입니다.