每次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)
浏览器控制台中的错误消息: …
我有一台运行 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) 我有看法:
@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)