小编Mat*_*ley的帖子

如何在useEffect中使代码同步

我知道不建议创建 add async to useEffect 但是在继续之前如何确保我的功能完全完成

这是我的代码

useEffect(
   () => {
         const RetrieverDataProcess = async () => {
             const GetMainListResults = await GetMainList(FORMSTATUS.ID);
             setMAINOBJECT(GetMainListResults); //useState
             console.log(2)
         }

         console.log(1);
         RetrieverDataProcess();
         console.log(99);

    }, [])
Run Code Online (Sandbox Code Playgroud)

如果我在我的控制台中运行它的显示

1

99

2

我希望它的

1

2

99

javascript reactjs react-hooks

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

webpack-dev-server 的 allowedHosts 安全机制的目的是什么?

webpack-dev-server通过强制执行特定标头值试图减轻哪些安全风险Host

\n\n

默认情况下,webpack-dev-server仅允许Host标头指定本地环回地址(localhost127.0.0.1等)的连接。所有其他主机都会收到此响应:“无效的主机标头”。但当然--allowed-hosts/allowedHosts配置允许扩大此限制。

\n\n

这似乎仅基于标题Host。我可以使用curl设置自定义Host标头,并且请求成功:

\n\n
curl -X GET -H "Host: http://0.0.0.0:9001/" http://me.internal.example.com:9001/\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以我很好奇\xe2\x80\x94 如果allowedHosts不阻止来自curl 或其他自定义用户代理的连接,它解决了什么问题?它似乎只针对使用普通浏览器的普通用户,以保护他们免受在错误主机上提供服务的站点的影响。但是中间人攻击可以轻松代理连接并覆盖主机标头。

\n\n

为了防止 MITM 攻击,您可以使用 https(带有浏览器信任的证书)。但在这种情况下,证书本身似乎可以缓解 MITM 攻击。

\n\n

我确信我遗漏了一些东西,所以任何进一步的解释都是值得赞赏的。

\n

webpack webpack-dev-server websecurity

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

右键单击上下文菜单中的Chrome"复制图像"选项显示为灰色

在使用Chrome(23)浏览Apple网站时,我发现"复制图像"上下文菜单项已被禁用(参见屏幕截图).所以看起来Webkit有一种新的方法来禁用这个选项.有谁知道它是什么?

已禁用的

javascript html5 webkit google-chrome

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

多边形中的 Turfjs 点始终返回 false

我正在使用谷歌地图 API 对用户进行地理定位,如果他们在洛杉矶市,会告诉他们他们所在的洛杉矶警察局报告区。我有一个从这里加载的报告区 (RD) 的 geojson 覆盖图.

我想获取地理定位坐标,并使用 Turfjs 的 booleanPointInPolygon 来确定它是否在 RD 中,如果是,则返回该 RD。

但是无论我做什么,turfjs 函数总是返回 false,即使我显然处于 RD/Polygon 中。

我下载了geojson 文件并将其作为常规 json 文件导入到本地。这是我的功能:

    getRd() {
            const repdist = require("../assets/LAPD_Reporting_Districts.json");
            let point = turf.point([34.05350702472784, -118.24291762202074]);
            var poly;
            repdist.features.forEach(rd => {
                poly = turf.polygon(rd.geometry.coordinates);
                var found = turf.booleanPointInPolygon(point, poly);
                console.log("found: ", found);
            });
Run Code Online (Sandbox Code Playgroud)

据我所知, turf.point 和 turf.polygon 数组形成正确,执行时没有错误。我已经完成了草坪功能,一切似乎都很好。

鉴于代码示例(洛杉矶市政厅,位于 RD 124)中的坐标,我希望结果返回 true,但“找到”返回 1135 个 false。

javascript turfjs

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