【问题标题】:React JS: ForEach Function isn't returning anything [duplicate]React JS:ForEach 函数没有返回任何内容
【发布时间】:2021-12-26 20:53:20
【问题描述】:

我的代码中有一个 JS 函数,它应该为拆分字符串的每个元素返回一个 React 组件,但由于某种原因,当我在主“return()”上调用它时,该函数不是返回任何东西。我试图将函数直接放在 return() 中,但同样的事情发生了。我以前从未遇到过这种情况,我不知道它是什么。

这是我的代码:

import React from 'react';

import DatabaseLiLine from './DatabaseLiLine';

const DatabaseLiSection = ({ className, children, classId }) => {
    const example = "Use,This,As,An,Example";
    const splitLiTitles = example.split(",");

    const returnLines = () => {
        splitLiTitles.forEach(element => {
            return(
                <DatabaseLiLine>
                    {element}
                </DatabaseLiLine>
            );
        })
    }
    return (
        <li className={className}>
            <a href="/">{children}</a>
            <div id={classId} className="consult_box">
                {returnLines()}
            </div>
        </li>
    );
}

export default DatabaseLiSection;

【问题讨论】:

    标签: javascript reactjs return


    【解决方案1】:

    forEach 不返回任何内容。更改您的代码以使用map 方法。

        const returnLines = () => {
            splitLiTitles.map(element => {
                return(
                    <DatabaseLiLine>
                        {element}
                    </DatabaseLiLine>
                );
            })
        }
    

    这里有点脑子放屁,但我忘了你是否还需要返回 map 方法,比如在splitLiTitles.map... 之前添加return。我认为没有它应该可以工作,但如果它不尝试在前面添加返回。

    【讨论】:

    • 我将我的函数更改为 map 函数而不是 forEach 并将其直接放在我的 return() 中,并且它可以 100% 工作。我真的不知道 forEach 不会返回任何东西。谢谢!
    猜你喜欢
    • 2018-12-25
    • 1970-01-01
    • 2018-07-09
    • 2020-11-22
    • 2020-09-02
    • 2020-07-24
    • 2020-09-14
    • 2018-07-30
    • 2021-04-14
    相关资源
    最近更新 更多