Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在React中过滤API以仅呈现特定数据_Reactjs_Filter_State_Setstate - Fatal编程技术网

Reactjs 在React中过滤API以仅呈现特定数据

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

我使用react获取了一个API,我想知道如何从JSON文件中过滤数据,因为目前我正在渲染所有内容,但我希望能够只渲染国家的===='巴黎'、'洛杉矶'、'纽约',而不是整个城市的

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>
    ));