ReactJs 函数调用,而是看到一个表达式 no-unused-expressions
Posted
技术标签:
【中文标题】ReactJs 函数调用,而是看到一个表达式 no-unused-expressions【英文标题】:ReactJs function call and instead saw an expression no-unused-expressions 【发布时间】:2019-08-20 20:11:27 【问题描述】:我正在尝试在 reactjs 准备一个 restfulpi。但是因为我是reactjs新手,英文也不是很流利,所以遇到了一个问题。我的应用程序的目的是列出出版商的书籍。您可以从下面访问我的代码和错误。如果你帮助我,我可以做到。谢谢。
错误:
第 21 行:应为赋值或函数调用,但看到的是表达式 no-unused-expressions
我的代码:
`` `
class App extends Component
state =
books:[]
componentWillMount()
axios.get('http://localhost:3000/books').then(( response)=>
this.setState(
books: response.data
)
);
``
`` `
render()
let books = this.state.books.map((book) =>
return
(
<tr key=book.id>
<td>book.id</td>
<td>book.title</td>
<td>book.rating</td>
<td>
<Button color="success" size="sm" className="mr-2">Edit </Button>
<Button color="danger" size="sm">Sil</Button>
</td>
</tr>
)
);``
`` `
return (
<div className="App container">
<h1>Book List</h1><br></br>
<Table>
<thead>
<tr>
<th>#</th>
<th>Title</th>
<th>Rating</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
books
</tbody>
</Table>
</div>
);``
【问题讨论】:
第 21 行到底是哪一行? 【参考方案1】:试试这个:
render()
const books = this.state.books.map(book =>
return (
<tr key=book.id>
<td>book.id</td>
<td>book.title</td>
<td>book.rating</td>
<td>
<Button color="success" size="sm" className="mr-2">
Edit' '
</Button>
<Button color="danger" size="sm">
Sil
</Button>
</td>
</tr>
);
);
return <tbody>books</tbody>;
根据this answer,这是渲染函数中的常见错误。
【讨论】:
我按照你说的修好了,但还是有问题。 尝试复制我的渲染方法并用它替换你的。在您的原始帖子中,您有很多语法错误,即从渲染方法返回,但我认为这是由于复制粘贴部分。如果您使用整个 React 组件(整个文件)更新帖子,我们可能会捕获其他内容。另外,您的编辑器中的第 21 行是哪一行?【参考方案2】:您的render
方法中缺少return
语句。
render()
....
...
return (
<tbody>
books
</tbody>
)
【讨论】:
我按照你给我的方式改变了它。但同样的问题摆在眼前 你只需要正确关闭渲染方法以上是关于ReactJs 函数调用,而是看到一个表达式 no-unused-expressions的主要内容,如果未能解决你的问题,请参考以下文章
ReactJs Newbie 期望一个赋值或函数调用,而是看到一个表达式 no-unused-expressions
ReactJs - 期望一个赋值或函数调用,而是看到一个表达式
Object.keys - 期望一个赋值或函数调用,而是看到一个表达式 no-unused-expressions
Return 语句导致:期望一个赋值或函数调用,而是看到一个表达式 no-unused-expressions