【发布时间】:2021-08-03 05:10:58
【问题描述】:
我这几天一直在尝试解决这个问题,看来解决方案应该就在我面前。但似乎没有什么对我有用。这是我的第一个 React 应用程序,所以可以完全关闭......:D
我有这个数据
const teamNames = ['Sort', 'Gul', 'Blå', 'Rød', 'Orange', 'Grøn']
let [finalTeamData, setFinalTeamData] = useState()
在我的函数中,我喜欢这样做,首先重置数据,然后构建它。
function makeTeams () {
const playersParticipating = []
let howManyTeams = 0
const teams = []
setFinalTeamData(finalTeamData = [])
// Get the players who is participating
for (let i = 0; i < players.length; i++) {
if (players[i].participating) {
playersParticipating.push(players[i].name)
}
}
// Find the number of players pr team.
howManyTeams = playersParticipating.length / parseInt(teamsize)
// Divide the players out on each team randomly
// Taking 1 team at a time
for (let i = 0; i < howManyTeams; i++) {
teams[i] = []
for (let y = 0; y < teamsize; y++) {
let number = Math.floor(Math.random() * playersParticipating.length)
teams[i].push(playersParticipating[number])
playersParticipating.splice(number, 1)
}
}
console.log(teams)
setShowteams(true)
for (let i = 0; i < teams.length; i++) {
setFinalTeamData(finalTeamData[i] =
{
id: i,
teamname: teamNames[i],
players: teams[i]
}
)
}
console.log(finalTeamData)
}
在此处将其传递到我的组件中
<ShowTeams data={finalTeamData} />
最后是我的组件。
const ShowTeams = ({ data }) => {
return (
<>
{data.map((data) => { return <h1>{data.teamname}</h1>;})}
</>
)
}
export default ShowTeams
但无论我如何尝试,我都会不断收到此错误:TypeError: data.map is not a function
我如何可能浏览我的数据并显示组件上的每个对象?
据我所见,它应该是一个数组,并且在浏览器控制台中看起来是正确的。希望有人有时间看看。
【问题讨论】:
标签: javascript reactjs dictionary typeerror