我正在创建一个自定义挂钩来捕获浏览器窗口大小,以便让我知道它是否是移动的。目前,我的问题是 React 告诉我它无法在 useEffect 挂钩中保留 screenSize 的变量值。我该如何解决这个问题?
export default function useIsMobile() {
let screenSize = 0;
useEffect(() => {
window.addEventListener("resize", () => {
screenSize = window.innerWidth;
});
return () => {
window.removeEventListener("resize", () => {
screenSize = window.innerWidth;
})
}
}, [screenSize]);
return screenSize <= 768;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 ES6 语法将 express 导入我的项目,但它一直给我错误:
import express from "express";
SyntaxError: Unexpected identifier
Run Code Online (Sandbox Code Playgroud)
我做了一些研究,发现人们说要添加的地方:
“类型”:“模块”
到我已经完成的 package.json 文件:
...
"description": "Shopping list to learn the MERN stack",
"type": "module",
"main": "server.js",
"scripts": {
"start": "node server.js",
"server": "nodemon server.js"
},
...
Run Code Online (Sandbox Code Playgroud)
But I'm still getting the same issue. I would prefer to use the import ES6 syntax rather than this syntax.
const express = require('express')
Run Code Online (Sandbox Code Playgroud) 我创建了一个 JSON 对象,但该对象中包含我想要访问并作为普通函数运行的函数列表。我正在尝试找出如何实现这一目标,但我遇到了困难。以下是我正在做的事情:
Bootstrapper.dynamic = {
"interaction": function(data) {
s.linkTrackVars="events,prop2,eVar2,prop32,eVar32,prop33,eVar33";
s.linkTrackEvents="event2";
s.prop2="site:social:facebook";
s.eVar2="D=c2";
s.prop32=data.tp_type;
s.eVar32="D=c32";
s.prop33=data.ct_type;
s.eVar33="D=c33";
s.events="event2";
s.tl(this,'o','interaction');
}
};
Run Code Online (Sandbox Code Playgroud)
注意“交互”功能。这就是我想要解雇的,但我遇到了困难。谢谢你的帮助。