【问题标题】:Line 28: Expected an assignment or function call and instead saw an expression第 28 行:期望一个赋值或函数调用,但看到一个表达式
【发布时间】:2018-12-13 14:49:34
【问题描述】:

我已经尝试了好几个小时来完成这项工作。每当我运行代码时,它总是给我一个“第 28 行:期望一个赋值或函数调用,而是看到一个表达式”错误。

import React from "react";

class Brewery extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      breweries: []
    };
    }

  componentDidMount() {
    fetch("https://api.openbrewerydb.org/breweries")
      .then(response => response.json())
      .then((data) => {
        this.setState({
          breweries: data,
        })
      })
  }

  render() {

    const { breweries } = this.state;

    return(
        <ul>
          {breweries.map((brewery) => {
              <li key={brewery.id}>
                {brewery.name}
              </li>
          })}
        </ul>
    )
  }
}

export default Brewery;

【问题讨论】:

    标签: javascript reactjs


    【解决方案1】:

    您的 .map 方法中可能没有返回任何内容。

      <ul>
        {breweries.map(brewery => {
          <li key={brewery.id}>{brewery.name}</li>;
        })}
      </ul>
    

    这里,你使用的是带有 body 块的胖箭头函数,但没有使用 return,所以添加它:

      <ul>
        {breweries.map(brewery => {
          return <li key={brewery.id}>{brewery.name}</li>;
        })}
      </ul>
    

    或使用implicit return:

      <ul>
        {breweries.map(brewery => (
          <li key={brewery.id}>{brewery.name}</li>
        ))}
      </ul>
    

    【讨论】:

      猜你喜欢
      • 2017-09-09
      • 2019-04-22
      • 2020-02-12
      • 2019-10-15
      • 2020-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多