console.log显示数据,但在if条件javascript中获取错误(使用内部react组件)

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

我是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_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++){