选择带有信息的 div 时未定义
我的一段代码有问题。我从 Flask 服务器获取,并在 React 中用 div 显示。我想选择 div 并将该信息传递到一个新的对象数组以返回到 Flask,但我一直未定义。
代码片段:
function PLCPage() {
const [myjunk, setMyjunk] = useState([]);
const [devList, setDevList] = useState ([]);
const Scan = () => {
fetch('/api/home').then(response => {
if(response.status === 200){
return response.json()
}
})
.then(data => setMyjunk(data))
.then(error => console.log(error))
}
const Clear = () => {
setMyjunk({})
}
创建div:
{Object.keys(myjunk).map((key) =>{
return (
<div className='plc-container' key={key} onClick={ReadStuff}>
<h1>ID:{myjunk[key]['name']}</h1>
<h1>IP:{myjunk[key]['IP']}</h1>
</div>
)
单击div,只是为了返回控制台日志,返回未定义。
const ReadStuff = () => {
console.log(this.IP)
}
我最终想将 2 h1 标签中的数据返回到一个新对象(devList),但我什至无法将其获取到控制台日志。抱歉,如果这是基本的,但我已经被这个问题困扰了一个星期了。谢谢,
我已经尝试过this.IP、myjunk.IP、this、myjunk.IP。 myjunk['IP'].什么都没有返回。当我执行 myjunk.IP 时,我得到“无法从未定义中读取”
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
做到这一点的一种方法是创建一个单独的组件:
现在您的
map()
看起来像:和
readStuff
变为:请注意,请注意我们如何明确地将事物作为prop或props或功能参数。
One way to do this is to create a separate component:
Now your
map()
looks like:And
ReadStuff
becomes:Notice how in React we explicitly pass things around as props or function parameters.
首先,您需要将
myjuck
进行功能,然后像这样安装它:readstuff函数
first you need to pass
myjuck
to function and then console it like this:ReadStuff function