Reactjs I';我试图使用useffect';用于更换窗口。我没有得到任何错误,但它没有';不行。怎么了?如何让它工作?
通过dropzone,我上传或删除文件。 我要做的是根据已删除的文件类型打开一个新的窗口类型。 为了实现这一点,我尝试使用useffect钩子。但它不会产生任何错误,也不起作用:Reactjs I';我试图使用useffect';用于更换窗口。我没有得到任何错误,但它没有';不行。怎么了?如何让它工作?,reactjs,typescript,electron,use-effect,Reactjs,Typescript,Electron,Use Effect,通过dropzone,我上传或删除文件。 我要做的是根据已删除的文件类型打开一个新的窗口类型。 为了实现这一点,我尝试使用useffect钩子。但它不会产生任何错误,也不起作用: const [win, setWin] = useState("A-Type"); let accepted_file = acceptedFiles[0]; useEffect(() => { function handleSecondWindowType () { if (
const [win, setWin] = useState("A-Type");
let accepted_file = acceptedFiles[0];
useEffect(() => {
function handleSecondWindowType () {
if (accepted_file.type.includes('image/')) {
setWin("A-Type")
}
else {
setWin("B-Type");
}
}
},[accepted_file]);
看起来您已经创建了一个内部函数,但忘记了调用它。你必须打电话,否则什么也没发生:
useffect(()=>{
//叫它
handleSecondWindowType();
函数handleSecondowType(){
if(接受的_file.type.includes('image/')){
setWin(“A型”)
}
否则{
setWin(“B型”);
}
}
},[已接受的文件];
看起来您创建了一个内部函数,但忘记了调用它。你必须打电话,否则什么也没发生:
useffect(()=>{
//叫它
handleSecondWindowType();
函数handleSecondowType(){
if(接受的_file.type.includes('image/')){
setWin(“A型”)
}
否则{
setWin(“B型”);
}
}
},[已接受的文件];
您可以像tmhao2005所说的那样调用它,也可以删除附加的函数声明
useffect(()=>{
if(接受的_file.type.includes('image/')){
setWin(“A型”)
}
否则{
setWin(“B型”);
}
},[已接受的文件];
另一种可能性是:
函数handleSecondowType(){
if(接受的_file.type.includes('image/')){
setWin(“A型”)
}
否则{
setWin(“B型”);
}
}
useffect(handleSecondWindowType,[accepted_file]);
您可以像tmhao2005所说的那样调用它,也可以删除附加的函数声明
useffect(()=>{
if(接受的_file.type.includes('image/')){
setWin(“A型”)
}
否则{
setWin(“B型”);
}
},[已接受的文件];
另一种可能性是:
函数handleSecondowType(){
if(接受的_file.type.includes('image/')){
setWin(“A型”)
}
否则{
setWin(“B型”);
}
}
useffect(handleSecondWindowType,[accepted_file]);
为什么要声明函数HandleSecondowType
?只需删除声明,然后在()=>{…}
之间执行您想要执行的操作。或者就叫它吧。是的。这是一个可能的解决办法。谢谢您为什么声明函数handleSecondWindowType
?只需删除声明,然后在()=>{…}
之间执行您想要执行的操作。或者就叫它吧。是的。这是一个可能的解决办法。非常感谢。