console.log显示数据,但在if条件javascript中获取错误(使用内部react组件)
我是Javascript新手,我正在尝试调用React容器组件中onClick事件的代码,下面是我的代码console.log显示数据,但在if条件javascript中获取错误(使用内部react组件),javascript,reactjs,Javascript,Reactjs,我是Javascript新手,我正在尝试调用React容器组件中onClick事件的代码,下面是我的代码 const onClickHandler = (e) => { if (e != null){ const row_id = e.target.getAttribute('key'); var cur_row; if (api_data != undefined || api_data != null){ for (cur_r
const onClickHandler = (e) => {
if (e != null){
const row_id = e.target.getAttribute('key');
var cur_row;
if (api_data != undefined || api_data != null){
for (cur_row=0; api_data.length-1; cur_row++){
console.log('this is api data', api_data[cur_row]['id'])
if (api_data[cur_row]['id'] == row_id){
console.log(api_data[cur_row])
break
}
}}
}}
在上面的代码中,api_数据是存储数据的hookstate变量。在控制台日志中,我能够看到数据,但当涉及到console.log语句正下方的if条件时,我得到错误“无法读取未定义的属性”id“。我搜索了一些类似的问题,但无法理解谁来解决我的问题。你知道我遗漏了什么吗{
const onClickHandler = (e) => {
if (e != null){
const row_id = e.target.getAttribute('key');
var cur_row;
if (api_data != undefined || api_data != null){
/*
I guess you forgot to add exit statement in for loop,
because of it curr_row value was increasing way beyond
api_data.length giving you undefined output and hence that error
*/
for (cur_row=0; curr_row <= api_data.length-1; cur_row++){
console.log('this is api data', api_data[cur_row]['id'])
if (api_data[cur_row]['id'] == row_id){
console.log(api_data[cur_row])
break
}
}}
}}
如果(e!=null){
const row_id=e.target.getAttribute('key');
var cur_row;
如果(api_数据!=未定义的| api_数据!=空){
/*
我猜你忘了在for循环中添加exit语句,
因为它,curr_行值的增长远远超过了
api_data.length提供未定义的输出,因此会出现错误
*/
for(cur_row=0;curr_row是for循环正确吗?我想应该是:for(cur_row=0;curr_row<=api_data.length-1;cur_row++){