С видом сверху все выглядит нормально с вашим кодом. map
будет работать только на массивах, и я вижу, что вы также устанавливаете состояние по умолчанию для массива. Однако проблема может заключаться в том, что вы пытаетесь установить состояние после получения ответа от fetch
call
fetch(
`http://localhost:3000/api/user/account?username=${username}&email=${email}`
)
.then(res => res.json())
.then(getdata => {
this.setState({ datas: getdata });
})
.catch(err => console.log(err));
Здесь вам нужно убедиться, что независимо от того, что вы устанавливаете, это должен быть массив. Поэтому, если вы не получаете массив в ответе, установите значение, которое на самом деле является массивом, и, если ответ пустой, установите вместо него пустой массив, что-то вроде ниже
// may be array is a property of response
this.setState({ datas: getdata.array });
// may be getdata is empty
this.setState({ datas: getdata || [] });