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

IT技术 reactjs jsx
2021-04-01 16:09:48
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;

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

Expected an assignment or function call and instead saw an expression  no-unused-expressions

不明白哪里出错了,请帮忙

6个回答

发生这种情况是因为您将括号return放在下一行。如果您编写不带分号的 js 并使用将左大括号放在下一行的样式,这可能是一个常见的错误。

解释器认为您返回 undefined 并且不检查您的下一行。那是return运营商的事情。

将打开的括号与return.

我得到了同样的错误。但我没有在那里使用 return() 。我该如何解决?
2021-06-03 16:09:48
当 JavaScript 解析器在解析源代码期间发现这些特殊情况时,它会自动添加一个分号: 1. 当下一行以破坏当前行的代码开头时(代码可以在多行上产生)。2.当下一行以}开头时,关闭当前块 3.当到达源代码文件的末尾时 4.当它自己的一行有return语句时 5.当它自己有一个break语句时第 6 行。当它自己的行上有一个 throw 语句时 7. 当它自己的行上有一个 continue 语句时。
2021-06-07 16:09:48

就我而言,我在应该是括号的地方使用了花括号。

const Button = () => {
    <button>Hello world</button>
}

它应该在哪里:

const Button = () => (
    <button>Hello world</button>
)

这样做的原因,正如MDN 文档中所解释的那样,一个被包裹的箭头函数()将返回它包裹的值,所以如果我想使用大括号,我必须添加return关键字,如下所示:

const Button = () => {
    return <button>Hello world</button>
}
这对我来说是个问题
2021-05-23 16:09:48
这个解决方案有效,我现在明白为什么它给我错误。
2021-06-01 16:09:48
在我开始学习 Web 开发一年后,我从未意识到偶尔需要箭头函数return......我需要查看我的旧代码,也许我会明白为什么某些事情不起作用。特别是在反应中..感谢您提供这个答案!
2021-06-17 16:09:48

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

{cart.map((cart_products,index) => {
    <span>{cart_products.id}</span>; 
})};

上面的代码产生了错误。

{cart.map((cart_products,index) => {
    return (<span>{cart_products.id}</span>); 
})};

简单地添加 return 解决了它。

这是因为 map 需要一个函数。(cart_products,index) => { return (<span>{cart_products.id}</span>); } 实际上是一个函数声明。因此,当我们返回时,将使用返回值。
2021-05-22 16:09:48
我也遇到了同样的情况,只有在添加返回后才有效。但是htis是有线的!
2021-05-28 16:09:48
但让我奇怪的是,tuto 的代码在没有返回的情况下工作!!!
2021-06-08 16:09:48
也许在教程中。代码被包裹在 () 括号中。如果您将它包装在 () 中,则不需要返回。
2021-06-09 16:09:48

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

错误的代码

return this.props.todos.map((todo) => {
            <h3> {todo.author} </h3>;
        });

正确的代码

//Change Curly Brace To Paranthesis   change {} to => ()
return this.props.todos.map((todo) => (
            <h3> {todo.author} </h3>;
        ));
如果我们传递第二个参数,即索引到 map 函数,这是一个很好的做法
2021-05-31 16:09:48

在我的情况下,我从不将return放在箭头函数中,因此我的代码如下

`<ProductConsumer>
   {(myvariable)=>{
      return  <h1>{myvariable}</h1>
   }}
</ProductConsumer> `
是的,这是一个函数,所以它应该返回一些值
2021-06-13 16:09:48
如果我们将大括号放在箭头函数中,我们需要总是需要返回。
2021-06-17 16:09:48
但是当我在箭头函数中放置一个 return 时,它工作正常。如何?
2021-06-20 16:09:48