在React UseEffect中修改获取响应不起作用

时间:2019-10-23 09:25:55

标签: javascript reactjs

我有以下代码,尝试调用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具有原始宽度和高度,而不是假定的更新宽度和高度。

我在做什么错?

0 个答案:

没有答案