我正在尝试访问处于React状态的对象数组中的元素。该数组是获取命令的结果。我知道我需要编写一个“地图”,但是地图将导致获取数组的整个元素。
这是我编写的代码:
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
// function App() {
// } instead we'll use class component
class App extends Component{
constructor(){
super();
this.state = {
guys:[]
}
};
componentDidMount(){
fetch('https://jsonplaceholder.typicode.com/users')
.then(response=>response.json())
.then(user=>this.setState({guys:user}))
}
render(){
//we'll add the return part from the stateless component
return (
<div className="App">
{this.state.guys.map(guy=>(
<h2 > {guy.email} </h2>
))}
</div>
);
}
}
export default App;
上面的代码的结果是:
Sincere@april.biz
Shanna@melissa.tv
Nathan@yesenia.net
Julianne.OConner@kory.org
Lucio_Hettinger@annie.ca
Karley_Dach@jasper.info
Telly.Hoeger@billy.biz
Sherwood@rosamond.me
Chaim_McDermott@dana.io
Rey.Padberg@karina.biz
但是,我只想访问一个元素,例如,理想的结果必须是Shanna@melissa.tv
。
我已经尝试过<h1>this.state.guys[1].email</h1>
,但是这种方法似乎无效,我知道我应该做些其他的事情。您对如何仅访问和操作一个(或某些)状态有任何想法吗?