javascript - 如何处理 meteor 调用内或调用后的事件?

标签 javascript reactjs meteor

我遇到了两个条件:内部 meteor 调用获取结果并添加数据,但 querySelector 抛出错误,对于外部从调用获取结果,但它在 meteor 调用之前执行,从而使结果状态为空,有什么解决方案吗? --- Meteor 1.8 react 16.8

        onSubmit(e) {
            e.preventDefault();
            Meteor.call('Add data', name,surname,
                adharcard,addess,Mnumber,tags,product,
                (error, result) => {
                    if(error){
                        console.log("Add data error ", error);
                    } else {
                      console.log("Add data res ", result);
                      this.setState({kUserrId:result});
             //below line gives me error
    //TypeError: Cannot read property 'querySelector' of null      
   console.log("fileupload24e",e.target.querySelector('#fileinput').files[0]);
//add result to db
                    }
                });

     // -------or--------- 
//wait for meteor call to complete and some how get result from meteor call    
          console.log("fileupload24e",e.target.querySelector('#fileinput').files[0]); // this work
    // now add data result to db
    console.log('kUserrId',this.state.kUserrId);// null
                }

最佳答案

在回调中调用 event.persist() 时,您需要使用 event.persist() 来使事件不为 null 或未定义。

onSubmit(e) {
  e.persist();
  e.preventDefault();

  Meteor.call('Add data', name,surname,
    adharcard,addess,Mnumber,tags,product,
    (error, result) => {
      if(error){
        console.log("Add data error ", error);
      } else {
        console.log("Add data res ", result);
        this.setState({ kUserrId:result });

        console.log("fileupload24e", e.target.querySelector('#fileinput').files[0]);
      }
    }
  );
}

关于javascript - 如何处理 meteor 调用内或调用后的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56937987/

相关文章:

javascript - Meteor kadira 没有这样的包

javascript - 创建带有格式化按钮的 html 字段并将结果存储在 mySQL 中

javascript - 为 Chrome、Safari 等同步 jQuery 动画

javascript - 为什么javascript不等待和forEach并执行下一行

html - 如何显示内容和侧边栏?

javascript - IE11 中的中止 Controller 不起作用。任何方式来支持它

reactjs - 将文件拖动到放置区域时闪烁

javascript - 如何重定向 url chrome 扩展?

javascript - 用JS对象实现 "join"的最佳方法是什么?

javascript - cytoscape.js 和meteor 简单示例不起作用