Reputation: 39
I am making youtube-search app. i have three component index for head component and rest two are: 1-video_list 2-video_item
coding for index.js
import React,{Component} from 'react';
import ReactDOM from 'react-DOM';
import Search from './components/search';
import Video_list from './components/video_list';
import YTSearch from 'youtube-api-search';
const API_KEY="xxxxxxxxxxxxxx";
class App extends Component {
constructor(props){
super(props);
this.state = {
videos:[]
};
YTSearch({key:API_KEY,term:'hitesh choudhary'},(videos) => {
this.setState({videos});
});
}
render(){
return(
<div>
<Search />
<Video_list videos={this.state.videos} />
</div>
);
}
}
ReactDOM.render(<App />,document.querySelector('.container'));
code for video_list
import React,{Component} from 'react';
import VideoListItem from './video_item';
class video_list extends Component {
const videoItem = this.props.videos.map((video) => {
return <VideoListItem video={video} />;
});
render(){
return(
<div>
<ul className="col-md-4 list-group">
{videoItem}
</ul>
</div>
);
}
}
export default video_list;
code for video_item.js
import React,{Component} from 'react';
class video_item extends Component {
render(){
return(
<li>{this.props.video}</li>
);
}
}
export default video_item;
console showing me Cannot find module "./components/video_list"
Upvotes: 1
Views: 855
Reputation: 36915
You need to capitalize component names in React or else JSX will consider them as HTML tags.
Declare components as
class VideoList
and
class VideoItem
Refer to the official documentation JSX in Depth for more details.
Upvotes: 1