reactjs - TypeError:无法读取 Track 组件未定义的属性“地图”
问题描述
我正在学习在线课程,这是一个顶点项目。我必须在不同组件之间传递信息。我已经检查了错别字,没有任何东西引起我的注意。我必须使用 .map() 方法来渲染 track 属性中的每个轨道。
我试图分解代码,并逐个进行,但是似乎有问题的唯一部分是这里,
<div class="TrackList">
{
this.props.tracks.map(track => {
return <Track track={track} key={track.id} />
})
}
</div>
这是来自我的 TrackList.js 代码:(此处代码中断并且无法识别 .map() )。
import React from 'react';
import './TrackList.css';
import Track from '../Track/Track';
class TrackList extends React.Component {
render() {
return (
<div class="TrackList">
{
this.props.tracks.map(track => {
return <Track track={track} key={track.id} />
})
}
</div>
);
}
};
导出默认曲目列表;
这段代码来自我的 App.js:
import React from 'react';
import './App.css';
import SearchBar from '../SearchBar/SearchBar';
import SearchResults from '../SearchResults/SearchResults';
import Playlist from '../Playlist/Playlist';
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
searchResults: [{name: 'name1', artist: 'artist1', album: 'album1', id: 1}, {name: 'name2', artist: 'artist2', album: 'album2', id: 2}, {name: 'name3', artist: 'artist3', album: 'album3', id: 3}],
playlistName: 'My Playlist',
playlistTracks: [{name: 'playlistName1', artist: 'playlistArtist1', album: 'playlistAlbum1', id: 4}]
};
}
render() {
return (
<div>
<h1>Ja<span className="highlight">mmm</span>ing</h1>
<div className="App">
<SearchBar />
<div className="App-playlist">
<SearchResults searchResults={this.state.searchResults} />
<Playlist />
</div>
</div>
</div>
);
}
}
export default App;
这段代码来自我的 Track.js:
import React from 'react';
import './Track.css';
class Track extends React.Component {
renderAction() {
if (this.props.isRemoval) {
return <button className="Track-action">-</button>
} else {
return <button className="Track-action">+</button>
}
}
render() {
return (
<div className="Track">
<div className="Track-information">
<h3>track name</h3>
<p>track artist | track album</p>
</div>
{this.renderAction()}
</div>
);
}
}
export default Track;
这来自我的 SearchResults.js 代码:
import React from 'react';
import './SearchResults.css';
import TrackList from '../TrackList/TrackList';
class SearchResults extends React.Component {
render() {
return (
<div className="SearchResults">
<h2>Results</h2>
<TrackList tracks={this.props.searchResults} />
</div>
);
}
}
export default SearchResults;
之前的所有文件都与 Track 组件相关联。
预期的结果是这个组件的渲染。
解决方案
推荐阅读
- apache-flink - flink聚合状态巨大,如何解决
- r - 在两个逻辑向量的第一个中计算每次运行 1 的交叉点
- javascript - 无法使用 paper.js 为“组”使用“符号”
- javascript - 如何使用 onChange 事件使复选框显示/隐藏文本
- java - 当我可以手动编译时,为什么 Intellij 无法编译 java 代码?
- cypress - Cypress.io - 如何使用元素集合
- python - 在python中实现多线程以读取文件中的行并检查该行是否与给定字符串匹配
- c# - Entity Framework Core 命令与 Entity Framework 的命令相同吗?
- node.js - MongoDB 中是否有 .startAfter fireStore 等值选项?
- spring-boot - Google AppEngine 上的 SpringBoot 无法找到或加载主类