期望的赋值或函数调用:no-unused-expressions ReactJS

Pra*_*dey 24 reactjs

class Game extends Component 
{
  constructor() 
  {
    super()
    this.state = {
      speed: 0
    }
    //firebaseInit()
  }
  render()
  {
    return 
    (
      <div>
        <h1>The Score is {this.state.speed};</h1>
      </div>
    )
  }
}

export default Game;
Run Code Online (Sandbox Code Playgroud)

我是React的新手,对于这段代码,它给出了这个错误

Expected an assignment or function call and instead saw an expression  no-unused-expressions
Run Code Online (Sandbox Code Playgroud)

不明白哪里出错,请帮忙

And*_*dev 54

发生这种情况是因为您将括号return放在下一行.如果你编写没有分号的js并使用你在下一行打开括号的样式,这可能是一个常见的错误.

口译员认为您返回undefined并且不检查您的下一行.这是return运营商的事情.

将打开的支架放在同一条线上return.


Rit*_*apa 36

对我来说,使用地图时发生了错误。而且我没有在地图中使用 return 语句。

{cart.map((cart_products,index) => {
    <span>{cart_products.id}</span>; 
})};
Run Code Online (Sandbox Code Playgroud)

上面的代码产生了错误。

{cart.map((cart_products,index) => {
    return (<span>{cart_products.id}</span>); 
})};
Run Code Online (Sandbox Code Playgroud)

简单地添加 return 解决了它。

  • 也许在教程中。代码被包含在 () 括号中。如果你将它包装在 () 中,则不需要返回。 (2认同)

Gus*_*Gus 22

在我的情况下,我在应该放在括号的地方放了花括号。

const Button = () => {
    <button>Hello world</button>
}
Run Code Online (Sandbox Code Playgroud)

应该在哪里:

const Button = () => (
    <button>Hello world</button>
)
Run Code Online (Sandbox Code Playgroud)

MDN文档中所述,这样做的原因是,由包裹的箭头函数()将返回其包裹的值,因此,如果我想使用花括号,则必须添加return关键字,如下所示:

const Button = () => {
    return <button>Hello world</button>
}
Run Code Online (Sandbox Code Playgroud)

  • 在我开始学习 Web 开发整整一年后,我从来没有意识到箭头函数偶尔需要“return”。我需要检查一下我的旧代码,也许我会明白为什么某些东西不起作用。特别是在反应中..感谢您实际提供这个答案! (4认同)
  • 这对我来说是个问题 (3认同)

Yaz*_*jar 12

如果您在带有花括号的函数中使用 JSX,则需要将其修改为括号。

错误代码

return this.props.todos.map((todo) => {
            <h3> {todo.author} </h3>;
        });
Run Code Online (Sandbox Code Playgroud)

正确的代码

//Change Curly Brace To Paranthesis   change {} to => ()
return this.props.todos.map((todo) => (
            <h3> {todo.author} </h3>;
        ));
Run Code Online (Sandbox Code Playgroud)