4 回答

TA貢獻(xiàn)1898條經(jīng)驗 獲得超8個贊
您可以映射響應(yīng)返回的每個項目,如下所示:
const [photo,setPhoto] = useState([])
const newPhotosLocally = photo
useEffect(() => {
axios.get("https://jsonplaceholder.typicode.com/photos").then(
result => {
var dataArray = result.data.map(({id, title, url, thumbnailUrl}) => ({id, title, url, thumbnailUrl}));
//do something with the array
}
)
},[])
此數(shù)據(jù)數(shù)組將包含 API 返回的所有項目

TA貢獻(xiàn)1872條經(jīng)驗 獲得超4個贊
您已經(jīng)擁有所需的所有數(shù)據(jù)。如果您只需要某些特定字段,請使用地圖運算符。
const newData = result.data.map(obj => {id,title,url,thumbnailUrl});
這將為您提供新數(shù)組中的必填字段(映射負(fù)責(zé)新數(shù)組)。

TA貢獻(xiàn)1812條經(jīng)驗 獲得超5個贊
您可以直接在返回公理中分配給數(shù)組批處理。
這是完整的代碼。
const [photo,setPhoto] = useState([])
useEffect(() => {
axios.get("https://jsonplaceholder.typicode.com/photos").then(
result => {
// Add bellow here code
let newData = result.data.map(({id, title, url, thumbnailUrl}) => ({id, title, url, thumbnailUrl}));
setPhoto(newData);
}
)
},[])

TA貢獻(xiàn)1829條經(jīng)驗 獲得超4個贊
下面是新數(shù)組。newData
var newData = [...result.data];
如果你只想拿幾個屬性。下面將為您提供僅具有上述屬性的新數(shù)組。
var newData = result.data.map(({id, title, url, thumbnailUrl}) => ({id, title, url, thumbnailUrl}));
由于從API獲取了如此多的記錄,還要考慮是否要進(jìn)行多次調(diào)用并僅獲取所需的記錄。還要考慮是否真的要修剪屬性的數(shù)量,因為有效負(fù)載稍微大一些。
添加回答
舉報