Reactjs 在React中过滤API以仅呈现特定数据
我使用react获取了一个API,我想知道如何从JSON文件中过滤数据,因为目前我正在渲染所有内容,但我希望能够只渲染国家的===='巴黎'、'洛杉矶'、'纽约',而不是整个城市的Reactjs 在React中过滤API以仅呈现特定数据,reactjs,filter,state,setstate,Reactjs,Filter,State,Setstate,我使用react获取了一个API,我想知道如何从JSON文件中过滤数据,因为目前我正在渲染所有内容,但我希望能够只渲染国家的===='巴黎'、'洛杉矶'、'纽约',而不是整个城市的 class App extends Component { constructor() { super(); this.state = { data: [] }; } componentDidMount() { fetch(url) .then(re
class App extends Component {
constructor() {
super();
this.state = {
data: []
};
}
componentDidMount() {
fetch(url)
.then(results => results.json())
.then(results => this.setState({ data: results }));
}
render() {
let coins = this.state.data.map(city => (
<React.Fragment>
<tr key={city.symbol}>
<td>{city.rank}</td>
<td>
<img src={city.image} alt={city.name} height="30" width="30" />
</td>
<td>{city.symbol}</td>
<td>{city.name}</td>
<td> ${Number(city.pers).toFixed(4)}</td>
<td>$ {Number(city.pers).toFixed(4)}</td>
<td>$ {Number(city.year).toFixed(4)}</td>
<td>go to {city.name}</td>
</tr>
</React.Fragment>
));
我得到了这个错误```未处理的拒绝类型错误:results.json…filter不是一个函数我让它工作了,谢谢,我过滤了setState而不是toadwell ofc,太好了:谢谢你的帮助!
const citiesToInclude = ['Paris', 'Los Angeles', 'New York'];
class App extends Component {
constructor() {
super();
this.state = {
data: []
};
}
componentDidMount() {
fetch(url)
.then(results => results.json())
.then(results => this.setState({ data: results.filter(city => return {
citiesToInclude.some(cityName => cityName === city.name)
} }));
}
render() {
let coins = this.state.data.map(city => (
<React.Fragment>
<tr key={city.symbol}>
<td>{city.rank}</td>
<td>
<img src={city.image} alt={city.name} height="30" width="30" />
</td>
<td>{city.symbol}</td>
<td>{city.name}</td>
<td> ${Number(city.pers).toFixed(4)}</td>
<td>$ {Number(city.pers).toFixed(4)}</td>
<td>$ {Number(city.year).toFixed(4)}</td>
<td>go to {city.name}</td>
</tr>
</React.Fragment>
));