我有以下代码,尝试调用API并修改宽度和高度(基于对象的原始宽度和高度值),然后将一个变量的状态设置为修改后的响应
COLUMN1 COLUMN2 COLUMN3
test APPLE LG
test1 SAMSUNG HWAWEI
test2 OPPO GOOGLE
const [photos, setPhotos] = useState([]);
const fetchData = async () => {
const res = await fetch(
'https://api.example.com/photos'
);
res
.json()
.then(res => {
const result = res.map((val, i) => {
// val is like {'src': 'xxxx', width: 1000, height: 150}
let height = 0;
let width = 0;
if (val.width > val.height) {
width = 2;
height = 1;
} else {
width = 1;
height = 2;
}
return Object.assign(val, { width, height });
});
setPhotos(result);
})
.catch(err => console.log(err));
};
useEffect(() => {
fetchData();
}, []);
中使用的result
具有原始宽度和高度,而不是假定的更新宽度和高度。
我在做什么错?