React JSX错误预期在箭头函数结尾处返回一个值

时间:2019-11-14 17:53:07

标签: javascript reactjs

我正在运行以下代码:

books.map(({ subjects, formats, title, authors, bookshelves }, index) => {
                subjects = subjects.join().toLowerCase();
                author = authors.map(({ name }) => name).join();
                if (!text && subjects.includes(category) === true) {.....some code....
                }
});

预期在上述代码的第1行的箭头函数array-callback-return的末尾返回一个值。 我试图返回,但是没有用。 如果我忽略这些警告,可以吗? 我正在使用它进行生产,真的需要解决这个问题,还是可以保留它?

3 个答案:

答案 0 :(得分:2)

map确实期望返回值,并且在不使用它来构建数组时被视为反模式。没关系,但最好使用forEach

使用forEach的示例:

[{subjects: ['history', 'math'], authors: [{name: 'author 1'},{name: 'author 2'}]}].forEach((item) => {
                let subjects = item.subjects.join().toLowerCase();
                let authors = item.authors.map(({ name }) => name).join();
           console.log(subjects, authors);     
});

答案 1 :(得分:1)

它期望返回值,因为您正在使用.map,请改用.foreach。您可以在此处了解更多信息:Map vs. ForEach

答案 2 :(得分:1)

如果不想返回值,则可以使用forEach来消除警告。

return null;也可以做,但是不推荐。