Reactjs 从API React.js向数组中的对象添加属性的更好方法是什么?
我正在尝试使用来自Reactjs 从API React.js向数组中的对象添加属性的更好方法是什么?,reactjs,Reactjs,我正在尝试使用来自 他们的回复中没有图片,所以我想在获取数据后自己添加它们 我是这样从API中获取数据的 export const fetchCharacters = () => async dispatch => { const response = await fetch('https://swapi.co/api/people/'); const data = await response.json(); const results = await da
他们的回复中没有图片,所以我想在获取数据后自己添加它们 我是这样从API中获取数据的
export const fetchCharacters = () => async dispatch => {
const response = await fetch('https://swapi.co/api/people/');
const data = await response.json();
const results = await data.results;
dispatch({
type: FETCH_CHARACTERS,
payload: results
});
}
之后在减少
case FETCH_CHARACTERS :
return {
...state,
characters: action.payload
}
要将此数据加载到我的组件,请执行以下操作:
componentDidMount() {
this.props.fetchCharacters();
}
在此this.props.characters
之后是一个对象数组
所以我一直在想如何为每个角色添加图片?
我在想一些东西,比如在对象上映射,为每个对象添加新属性。为了给角色分配正确的图片,我想命名图片0.jpg,1.jpg
,然后在map函数中执行如下操作:
character.pic = `link/${index}.jpg`;
这是实现这一目标的好方法吗?或者有更好的方法吗?您不能更改道具值。我分享两种方法,你可以使用 一是
const resultObj = {};
resultObj.result = await data.results;
resultObj.imgPath = "path of image"
dispatch({
type: FETCH_CHARACTERS,
payload: resultObj
});
第二个在这里
this.setState({characters:this.props.fetchCharacters})
现在您可以在状态中添加键了这个问题是询问如何映射还是询问您的想法是好主意?
索引
听起来不像是每个字符的永久属性。可以从每个字符的url
属性中提取id
编号。