【问题标题】:React JSX error expected a return value at the end of the arrow functionReact JSX 错误期望在箭头函数的末尾有一个返回值
【发布时间】:2019-11-14 17:53:07
【问题描述】:

我正在运行这段代码:

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 的末尾返回一个值。 我试图返回,但它不起作用。 如果我忽略这些警告可以吗? 我正在使用它进行生产,我是否真的需要解决这个问题,或者可以离开它。

【问题讨论】:

  • 根据您的操作,最好使用forEachreduce

标签: javascript reactjs


【解决方案1】:

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);     
});

【讨论】:

    【解决方案2】:

    它需要一个返回值,因为您使用的是.map,请改用.foreach。你可以在这里了解更多:Map vs. ForEach

    【讨论】:

      【解决方案3】:

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

      return null; 也可以完成这项工作,但不建议这样做。

      【讨论】:

        猜你喜欢
        • 2022-01-20
        • 2021-11-09
        • 2021-11-22
        • 2020-05-06
        • 2021-01-15
        • 2022-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多