小编kus*_*sha的帖子

取消 Context.Consumer 创建的 useEffect 清理函数中的所有订阅

每次onClick执行时,我都会收到一条关于内存泄漏的警告消息。如何使用钩子从我的功能组件中的Context.Consumer取消订阅组件useEffect

我没有找到如何取消订阅 AppContext 的方法。AppContext.unsubsribe()不工作。

import React, {useState, useContext} from 'react';
import {withRouter} from 'react-router-dom';
import axios from 'axios';
import {AppContext} from "../context/AppContext";

const LoginPage = (props) => {

    const [name, setName] = useContext(AppContext);
    const [isLoading, setIsLoading] = useState(false);

    const onClick = () => {
        setIsLoading(true);
        axios.post('/get-name')
            .then(resp => {
                setName(resp);
                setIsLoading(false);
                props.history.push('/');
            })
            .catch(err => console.log(err))
            .finally(() => setIsLoading(false));
    };

    return (
        <div>
            <button onClick={onClick}></button>
        </div>
    );
};

export default withRouter(LoginPage);

Run Code Online (Sandbox Code Playgroud)

浏览器控制台中的错误消息: …

reactjs react-context react-hooks use-effect

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

Xen 4.4:“/usr/lib/xen-4.4/bin/qemu-dm”不可执行

我有一台运行 Xen 4.4 的 Debian 服务器。我想创建一个新的 Windows 7 虚拟机并从 ISO 映像安装它。这是我用于此目的的配置文件:

kernel = "/usr/lib/xen-4.4/boot/hvmloader"

builder = 'hvm'

name = "win7"
uuid = "44dee145-256a-4450-9270-73aebd8b64a5"
memory = 2048
vcpus = 1
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"

disk = [
         'phy:/dev/vg0/win7-demo-disk,hda,w',
         'file:/tmp/Win7.iso,hdc,r,devtype=cdrom',
       ]

vif = [ "mac=00:16:3e:46:e6:fb,bridge=br0" ]
boot="dc"
vnc = 1
vnclisten = "0.0.0.0"
vncunused = 1
localtime = 1
vncpasswd = "XXXXXXXX"
Run Code Online (Sandbox Code Playgroud)

我执行这个命令:xl create win7.cfg

它打印以下错误:

Parsing config from win7.cfg
WARNING: ignoring "kernel" directive for HVM guest. …
Run Code Online (Sandbox Code Playgroud)

xen virtualization debian virtual-machine

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

如何在Django中创建装饰器来装饰视图

我有看法:

@decorator
def func(request):
  hello = "hello"
  return render_to_responce("test.html", locals() )
Run Code Online (Sandbox Code Playgroud)

和模板test.html:

{{ hello }}
{{ username }}
Run Code Online (Sandbox Code Playgroud)

我想编写decorator for func(request),它为函数添加一个变量USERNAME,并在模板中返回两个参数.我试着按如下方式做到:

def decorator(func):
    def wrapper( request, *args, **kwargs):
        username = request.user.username
        q = func(request, *args, **kwargs)
        #what I need add here I do not know ...
        return q   
    return wrapper
Run Code Online (Sandbox Code Playgroud)

python django decorator

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