小编xyi*_*ous的帖子

为 keydown 添加事件侦听器以响应元素

我正在尝试为keydown图像(或 div)标签中的事件添加事件侦听器。如果我使用 将它添加到文档中它会起作用document.addEventListener,但是当我尝试将它放入我在 react 创建的特定元素时它不会起作用(我在代码中指出了哪些有效,哪些无效)。也handleClick有效handleKey,但不管我用哪种格式将其放入标签中。

class PrescriptionImage extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      error: null,
      isLoaded: false,
      patient: "",
      rotation: 0
    };
    this.handleKey = this.handleKey.bind(this);
  }

  handleClick() {
    this.setState({rotation: this.state.rotation + 270})
  }

  handleKey(e) {
    e.preventDefault();
    console.log(e);
    if (e.code == 'ArrowLeft') {
      if (e.ctrlKey) {
        this.setState({rotation: this.state.rotation + 270})
      }
    }
  }

  componentDidMount() {
//    document.getElementById("left").addEventListener("keydown", this.handleKey, true); This doesn't work (no error)
//    this.RxImage.addEventListener("keydown", this.handleKey, false); This doesn't …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

7
推荐指数
1
解决办法
2万
查看次数

Ubuntu create-react-app失败,权限被拒绝

我收到一个奇怪的错误:

Unhandled rejection Error: EACCES: permission denied, mkdir '/home/ubuntu/.npm/_cacache/index-v5/14/36'atus
Run Code Online (Sandbox Code Playgroud)

我只是在AWS实例上安装了npm(6.4.1)和节点(11.2.0),没有任何问题。我在全球范围内安装了create-react-app。错误说This is an error with npm itself.

我有点茫然。我创建了目录/home/ubuntu/.npm/_cacache/index-v5/14,但仍然无法成功。我显然拥有/ home / ubuntu并具有写权限。

看来sudo成功了。为什么呢?

编辑:ubuntu:ubuntu拥有当前目录和父目录(我在/ home / ubuntu / workspace中)

linux node.js reactjs

7
推荐指数
2
解决办法
7500
查看次数

"to" 不是 expect jest/valid-expect 的有效属性

我正在尝试修复eslint代码中的警告,并且收到了很多警告。问题是有问题的文件不是开玩笑的测试,而是cypress测试。测试是有效的,因为cypress expectjest expect.
有没有办法忽略警告cypress目录jest/valid-expect?或者如果失败只是忽略目录进行任何jest验证?jest该目录中没有测试。

javascript eslint cypress

6
推荐指数
1
解决办法
3294
查看次数

我可以将异步函数作为回调传递给异步函数吗?

我无法在任何地方找到答案....

我正在尝试使用setState来更新我的应用程序的状态,但是我需要asyncsetsState完成后调用一个函数.
我可以在回调中使用await一个async函数setState吗?

 setState({foo: bar}, async () => {await doStuff()});
Run Code Online (Sandbox Code Playgroud)

同样假设这工作,我可以依靠setState完成之前doStuff被调用,我可以依靠doStuffawaitED?

javascript reactjs

4
推荐指数
1
解决办法
897
查看次数

迁移C - > C++指向函数的指针会引发编译器错误

TL:DR; error: initializing argument 2 of 'int SocketSrv(int, int (*)(), int*, int, int, int)'编译一个曾经是C作为C++的项目时,我遇到了这个错误.该程序在没有警告的情况下编译(无论如何在该行)作为C代码.

代码是:

rtn=SocketSrv(RxServConfig->port_nbr1, fn, &RxDataSocketId,
            RxServConfig->max_children,
            RxServConfig->shmemkey,
            RxServConfig->semkey);
Run Code Online (Sandbox Code Playgroud)

问题是我们给一个函数的指针指向一个int function (int)期望的函数int function().

我甚至不知道为什么这在C中工作,我无法访问被调用函数中的代码.

问题:我可以以某种方式投射int (*)(int)int (*)()?再次提到"为什么这个有用呢?" 指向的函数实际上使用了参数,即使我们声明了一个没有参数的函数指针,C也会传递参数吗?

c c++ pointers

2
推荐指数
1
解决办法
77
查看次数

如何在Rails ActiveRecords中创建表名的别名

select user_id,  max(perception_score) as max, min(perception_score) as min from temp_user_notes group by user_id as t1;    
Run Code Online (Sandbox Code Playgroud)

我正在尝试在 Rails Active Record 中转换此 sql 查询,但很难创建别名

ruby sql activerecord ruby-on-rails

0
推荐指数
1
解决办法
3460
查看次数

计算非空的道具

我正在通过我已经通过的道具命名变量.我需要知道未设置的道具数量null.
Object.keys(this.props).length无所不在.

我没有显示道具,null需要根据我将要显示的道具数量更改以前道具的布局.

我有一个解决方案,但它很长很复杂(基本上if(prop) {numProp++;}.

javascript reactjs

0
推荐指数
1
解决办法
35
查看次数

每次返回指针时都必须使用malloc

我正在开发一个几乎没有发现内存泄漏的程序.这段代码实际上已有几十年历史,由一个不知名的人编写.我有返回的功能,char *我想知道我是否需要free内存.
具体来说,我有一个替换字符串中的子字符串的函数,我将指针返回到新malloc编辑的内存.我free是原始的字符串吗?

原始版本:

return(findAndReplace(str, "•",rstring));
Run Code Online (Sandbox Code Playgroud)

新版本:

char *result = findAndReplace(str, "•", rstring);
free(str);
return result;
Run Code Online (Sandbox Code Playgroud)

问题是:我可以100%确定,因为我从其他地方返回的指针已经分配了内存吗?释放内存是否安全(假设它没有在其他任何地方使用)?

编辑:str来自这里:

str = axiom_element_get_text(element, env, messageDataNode);
Run Code Online (Sandbox Code Playgroud)

c malloc pointers memory-management

-1
推荐指数
1
解决办法
183
查看次数