Reactjs 无法启动Resact simple app I get错误:元素类型无效:应为字符串

Reactjs 无法启动Resact simple app I get错误:元素类型无效:应为字符串,reactjs,visual-studio-code,Reactjs,Visual Studio Code,我是新来的反应,发现了这个 我无法让它工作我已经创建了一个演示照片,如下所示: import React from "react"; import ReactDOM from "react-dom"; import PhotoGrid from "react-photo-feed"; import "react-photo-feed/library/style.css"; const demoPhotos = [

我是新来的反应,发现了这个 我无法让它工作我已经创建了一个演示照片,如下所示:

import React from "react";
import ReactDOM from "react-dom";
import PhotoGrid from "react-photo-feed";
import "react-photo-feed/library/style.css";

const demoPhotos = [
    {
        id : 1, src : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
    },
    {
        id : 2, src : "https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_b.jpg"
    },
    {
        id : 3, src : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
    },
    {
        id : 4, src : "https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_b.jpg"
    },
    {
        id : 5, src : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
    },
    {
        id : 6, src : "https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_b.jpg"
    },
    {
        id : 7, src : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
    }
];
ReactDOM.render(
    <div>
        <PhotoGrid columns={3} photos={demoPhotos} />
    </div>,
    document.getElementById('root')
);
从“React”导入React;
从“react dom”导入react dom;
从“react photo feed”导入PhotoGrid;
导入“react photo feed/library/style.css”;
常数demoPhotos=[
{
id:1,src:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
},
{
id:2,src:“https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_b.jpg"
},
{
id:3,src:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
},
{
id:4,src:“https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_b.jpg"
},
{
id:5,src:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
},
{
id:6,src:“https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_b.jpg"
},
{
id:7,src:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
}
];
ReactDOM.render(
,
document.getElementById('root'))
);
在我的App.js中:

// src/js/components/App.jsx
import React, { Component } from "react";
import DemoPhotos from "./DemoPhotos.jsx";
class App extends Component {
    constructor(props) {
        super(props);
        this.handleClick = this.handleClick.bind(this);
    }

    handleClick() {
        const { addToast } = this.props.actions;
        addToast({ text: "Hello, World!" });
    }

    render() {
        return (
            <main>
                <div className="row mt-5">
                    <div className="col-md-4 offset-md-1">
                        <h2>Add a new article</h2>
                        <DemoPhotos />
                    </div>
                </div>
            </main>
        );
    }
}

export default App;
//src/js/components/App.jsx
从“React”导入React,{Component};
从“/DemoPhotos.jsx”导入DemoPhotos;
类应用程序扩展组件{
建造师(道具){
超级(道具);
this.handleClick=this.handleClick.bind(this);
}
handleClick(){
const{addToast}=this.props.actions;
addToast({text:“你好,世界!”});
}
render(){
返回(
添加新文章
);
}
}
导出默认应用程序;
当我跑步时,我得到: ×

错误:元素类型无效:应为字符串(对于内置 组件)或类/函数(用于复合组件),但得到: 反对

检查应用程序的渲染方法

问题在于渲染器中的这一行
请建议我喜欢这个foto组件

向埃里克问好


该错误消息明确说明了问题所在。这是因为您没有返回
DemoPhotos.jsx
文件中的字符串或类/函数组件。它不是可渲染的react组件。请更新
DemoPhotos.jsx
文件,如下所示

从“React”导入React;
从“react photo feed”导入PhotoGrid;
导入“react photo feed/library/style.css”;
康斯特照片=[
{
id:1,src:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
},
{
id:2,src:“https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_b.jpg"
},
{
id:3,src:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
},
{
id:4,src:“https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_b.jpg"
},
{
id:5,src:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
},
{
id:6,src:“https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_b.jpg"
},
{
id:7,src:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
bigSrc:“https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
}
];
类扩展组件{
建造师(道具){
超级(道具);
}
render(){
返回(
);
);
导出默认照片;

DemoPhotos.jsx中有什么内容?
import React from "react";
import PhotoGrid from "react-photo-feed";
import "react-photo-feed/library/style.css";

const photos = [
    {
        id : 1, src : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
    },
    {
        id : 2, src : "https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_b.jpg"
    },
    {
        id : 3, src : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
    },
    {
        id : 4, src : "https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_b.jpg"
    },
    {
        id : 5, src : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
    },
    {
        id : 6, src : "https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4240/35527849422_25a0a67df6_b.jpg"
    },
    {
        id : 7, src : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_n.jpg",
        bigSrc : "https://farm5.staticflickr.com/4077/34824083444_f5f050e31c_b.jpg"
    }
];

class DemoPhotos extends Component {
    constructor(props) {
        super(props);
    }
    render() {
        return (
          <div>
               <PhotoGrid columns={3} photos={photos} />
          </div>
        );
);

export default DemoPhotos;