JSreact子组件错误
JSreact child component error
我编辑的代码工作得很好,直到我添加了新的代码,使按钮点击工作从一个视频到另一个视频。我就是找不到错误,终端也不接收。
谁能告诉我为什么。/video_list_item.js不再被识别?
附加的是父组件和2个子组件,虽然我有5个总组件的错误肯定只在其中一个。
index.js
import React, {Component } from 'react';
import ReactDOM from 'react-dom';
import YTSearch from 'youtube-api-search';
import SearchBar from './components/searchbar';
import VideoList from './components/video_list';
import VideoDetail from './components/video_detail';
const API_KEY = 'AIzaSyAi1CzVpifuFUDVQf3dzrTu3mwJDP2n8r8';
class App extends Component {
constructor(props){
super(props);
//Do i expect this component to play any type of state? aka pass props
this.state= {
videos: [],
selectedVideo:null
};
// ^proper name can be anything
YTSearch({key: API_KEY, term: 'surfboards'}, (videos) => {
// console.log(data);
this.setState({ videos:videos,
selectedVideo: videos[0]
});
}); // this.setState({videos : vidoos});
}
render (){
return (
<div>
<SearchBar />
<VideoDetail video={this.state.selectedVideo} />
<VideoList
onVideoSelect={selectedVideo => this.setState({selectedVideo}) }
videos={this.state.videos} />
</div>
);
}
}
ReactDOM.render(<App />, document.querySelector('.container'));
video_list.js
//video list file. JS.react
import React from 'react';
import VideoListItem from './video_list_item';
const VideoList = (props) => {
// ^props is made args here because videos var is passed
// in index.js into VideoList function(with state).
const videoItems = props.videos.map((video) => {
return (
<VideoListItem
onVideoSelect={props.onVideoSelect}
key={video.etag}
video ={video} />
);
});
return (
<ul className="col-md-4 list-group">
{videoItems}
</ul>
);
};
export default VideoList;
video_list.item.js
//video list item file. JS.react
import React from 'react';
const VideoListItem = ({video, onVideoSelect}) => {
const imageUrl = video.snippet.thumbnails.default.url;
// can see this in console log
return (
<li onClick={() => onVideoSelect{video} }className="list-group-item">
<div className ="video-list media">
<div className ="media-left">
<img className="media-object" src = {imageUrl}/>
</div>
<div className="media-body">
<div className="media-heading"> {video.snippet.title} </div>
</div>
</div>
</li>
);
};
export default VideoListItem;
我可以发布我在开发工具中得到的错误信息,但它实际上只说了一件事。这是错误消息=>不能找到模块"./video_list_item"
同样,没有任何文件被移动,代码被编辑并创建了错误消息。感谢任何真诚回答这个问题的人!
<li onClick={() => onVideoSelect{video} }className="list-group-item">
错误是{video}
实际上应该在括号中,如(video)
。
正确代码是:<li onClick={() => onVideoSelect(video) }className="list-group-item">.
注意:{}
使得子组件由于一些奇怪的原因不能被父组件识别。感谢所有帮助回答问题的人!
相关文章:
- Typescript编译器错误,Angular 1.5组件应为分号
- 谷歌地图web组件NoApiKeys错误
- React和Browserify寄存器组件错误
- Angular2路由错误/缺少组件
- 我的组件中的反应不变违规错误
- Angular2 - 动态组件加载器错误
- Angular 2组件测试错误:无法解析'TestComponentBuilder'
- 如何获取 Ember 组件对象内部承诺成功或错误回调
- React Native:创建组件错误
- 由 React 组件抛出的错误,被捕获在不相关的 promise 的 catch 块中
- Enzyme 如果 React 组件需要 jQuery,则会抛出错误
- 丢弃传递给 React 组件的 rest-props 是一个错误吗?
- 如何在应用程序的多个组件中维护一个 js 文件而不会出现任何错误
- 嵌入 API 自定义组件:未捕获类型错误:无法读取未定义的属性“ViewSelector2”
- IE11 运行时错误: 429 ActiveX 组件无法创建对象
- Angular2 ngfor 抛出错误中的组件(viewFactory 不是一个函数)
- Angular2 嵌套组件: 错误: core_2.输入不是函数 加载 http://localhost:9080/ap
- 如何在 Firefox 附加组件上允许跨域内容脚本而不触发混合内容阻止错误
- Requirejs带有Knockout错误:无法处理绑定“;组件:函数(){return f}"-匿名定义()
- FireFox中HTML/iframe错误-组件返回失败代码:0x80004005 (NS_ERROR_FAILURE)