【问题标题】:Error:Element type is invalid: expected a string (for built-in components)or a class/function(for composite components)but got:object错误:元素类型无效:期望字符串(对于内置组件)或类/函数(对于复合组件)但得到:对象
【发布时间】:2020-05-09 02:03:51
【问题描述】:
import React from 'react'

const Newslist=(props)=>{  
    const Items = props.news.map((item)=>{
    return (<h2>{item.title}</h2> )
    });
    return(<div> <Items/> </div>)
}

export default Newslist;

这段代码在 dom 中没有显示任何内容并显示错误

错误:元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:对象

【问题讨论】:

    标签: node.js json reactjs react-native react-props


    【解决方案1】:

    您正在渲染Items,就好像它是一个 React 组件而不是一个 JSX 变量。正如错误所说,React 组件只能从字符串(在 HTML 元素的情况下)、类或函数中创建。当您使用&lt;JSX/&gt; 语法渲染某些内容时,它会作为参数传递给React.createElementmap 调用返回的 JSX 元素数组不是可接受的参数类型之一,因此您会收到此错误。我认为这应该可行:

    import React from 'react'
    
    const Newslist=(props)=>{  
        const items = props.news.map((item)=>{
        return (<h2>{item.title}</h2> )
        });
        return(<div> {items} </div>)
    }
    
    export default Newslist;
    

    【讨论】:

    • 非常感谢克里斯。我被困了很长时间。
    猜你喜欢
    • 2019-09-06
    • 2021-03-25
    • 2018-02-19
    • 2021-06-07
    • 1970-01-01
    • 2021-04-23
    • 2022-08-15
    • 2020-07-13
    • 2019-04-02
    相关资源
    最近更新 更多