reactjs - 将函数(道具)传递回父级 React Context Api
问题描述
您好,我无法将点击时的 id 传递回上下文文件以在页面上呈现正确的信息。我已经尝试了几乎所有的东西,但不确定该怎么做才能完成这项工作?!
上下文文件:这是headers.id = res.data[1].playerId
我知道我需要一个函数来传递玩家 ID 但不确定如何从我的handleClick
.
// use mlbData in table
setMlbData(res.data)
// const pid = res.data.find(player => player.playerId == playerId)
console.log(res.data)
headers.id = res.data[1].playerId
mlbapi = `/mlb/player/${headers.id}`
// headers.id = res.data[1].playerId
console.log(res.data)
console.log(headers)
res = await axios.get(url + mlbapi, {headers})
setPlayerStats(res.data)
}
PlayerList.js 文件:
const handleClick = (e) => {
// console.log("I have been clicked", e.target.id)
// console.log(`${playerId}`)
history.push(`/stats/${e.target.id}`)
console.log(e.target.id)
}
// const { fullName, teamImage, mlbData, playerId } = this.context
const Team = ({ tableManager, value, field, data, column, colIndex, rowIndex }) => {
return (
<div onClick={ handleClick } className='rgt-cell-inner' style={{display: 'flex', alignItems: 'center', overflow: 'hidden'}}>
<img src={data.teamImage} alt="user avatar" id={ playerId }/>
<span className='rgt-text-truncate' style={{marginLeft: 10}}>{value}</span>
</div>
)
}
App.js 文件:
function App() {
return (
<div className="App">
<GetMlbData>
<Navbar />
<div className="content">
<Switch>
<Route exact path="/">
<PlayerList />
</Route>
<Route path="/stats/:id">
<Stats />
</Route>
</Switch>
</div>
</GetMlbData>
</div>
);
}
解决方案
推荐阅读
- php - 时间用完后刷新页面的Javascript
- r - 如何将.avl 后缀文件读入r?
- javascript - 如果无法加载,如何隐藏图像/视频
- pandas - 从数据框的文本列中删除不需要的字符
- android - MediaRecorder Surface Input with OpenGL - 如果启用了音频录制,则会出现问题
- python - 如何在不依赖列名的情况下操作数据框的值
- ios - 在 Flutter 中监听方向状态;旋转前后
- python - Assigning global attribute name using a parameter in netCDF4
- memory - 每个页面错误都有磁盘访问吗?
- apache-flink - 具有本地执行环境的 Flink 保存点(如独立应用程序)