javascript - ReactJS - 元素类型无效错误

标签 javascript reactjs

我的以下代码出现以下错误,但是我无法确定我的组件出了什么问题。如有任何帮助,我们将不胜感激!

Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object. Check the render method of App.

index.js

import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import YTSearch from 'youtube-api-search'; // Used to interact with Youtube API
import SearchBar from './components/search_bar'; // custom search bar component
import VideoList from './components/video_list'; // custom youtube video list component

const API_KEY = "key not shown here for privacy purposes";

class App extends Component {
    constructor(props){
        super(props);

        this.state = {videos: []};

        YTSearch({key: API_KEY, term: 'sufboards'}, (videos) => { 
            this.setState({videos});
        });
    }
    render(){
        return (
            <div>
                <SearchBar />
                <VideoList videos={this.state.videos} />
            </div>
        );
    }
}
ReactDOM.render(<App />, document.querySelector(".container"));

webpack.config.js

根据JordanHendrix的要求。

module.exports = {
  entry: [
    './src/index.js'
  ],
  output: {
    path: __dirname,
    publicPath: '/',
    filename: 'bundle.js'
  },
  module: {
    loaders: [{
      exclude: /node_modules/,
      loader: 'babel'
    }]
  },
  resolve: {
    extensions: ['', '.js', '.jsx']
  },
  devServer: {
    historyApiFallback: true,
    contentBase: './'
  }
};

video_detail.js

根据bhargavponnapalli的要求

import React from 'react';

const VideoList = (props) => {
    return (
        <ul className="col-md-4 list-group">
            {props.videos.length}
        </ul>
    );
};

export default VideoList;

search_bar.js

根据bhargavponnapalli的要求

import React, {Component} from 'react';

class SearchBar extends Component {
    constructor(props){
        super(props);
        this.state = {term: ""};
    }

    render(){
        return (
            <input
                onChange={
                    event => this.setState({
                        term: event.target.value
                    })
                }
                value = {this.state.term} 
            />
        );
    }
}

export default SearchBar;

我的其他组件所需的任何额外代码将根据请求添加到此处。

最佳答案

简单修复:

import VideoList from './components/video_list';

该文件为空,我的代码位于 video_detail.js 中,因此我必须将其移至正确文件 video_list.js

关于javascript - ReactJS - 元素类型无效错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36904405/

相关文章:

javascript - 初始化 qtip 并立即显示在鼠标位置

javascript - 在谷歌网站上检测黑莓浏览器

javascript - 无法从字符串集合中找到 href 标签

css - 对组件中的多个元素应用相同的样式

javascript - 如何在Javascript中将字符串 "[7, 9]"转换为数组

javascript - 提供的元素不在文档中 - Reactjs

重定向后未加载 JavaScript 文件?

Javascript - 递增和加倍值

android - React Native 多行 TextInput,文本居中

javascript - react Gatsby : adding css class dynamically not working in prod build