小编Var*_*nde的帖子

使用 useReducer 时如何获取 useCallback 中的当前状态?

将 React hooks 与 TypeScript 一起使用,这是我想要做的事情的最小表示:在屏幕上有一个按钮列表,当用户单击按钮时,我想将按钮的文本更改为“单击按钮”并且然后只重新渲染被单击的按钮

我使用 useCallback 来包装按钮单击事件,以避免在每次渲染时重新创建单击处理程序。

这段代码按照我想要的方式工作:如果我使用 useState 并在数组中维护我的状态,那么我可以使用useState 中的功能更新并获得我想要的确切行为:

import * as React from 'react';
import { IHelloWorldProps } from './IHelloWorldProps';
import { useEffect, useCallback, useState } from 'react';
import { PrimaryButton } from 'office-ui-fabric-react';

interface IMyButtonProps {
  title: string;
  id: string;
  onClick: (clickedDeviceId: string) => (event: any) => void;
}

const MyButton: React.FunctionComponent<IMyButtonProps> = React.memo((props: IMyButtonProps) => {
  console.log(`Button rendered for ${props.title}`);
  return <PrimaryButton text={props.title} onClick={props.onClick(props.id)} />;
});

interface IDevice …
Run Code Online (Sandbox Code Playgroud)

javascript typescript reactjs react-hooks

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

Access-Control-Allow-Origin和CORS背后的概念是什么?

我真的不懂Access-Control-Allow-Origin和CORS.
如果我允许来自任何域的请求到我的页面,这是否意味着我的页面存在任何安全问题?

我一直认为,SOP确保不能在页面上运行任何脚本,该脚本从另一台服务器请求数据,因为该数据可能是恶意的.但是,由于服务于恶意数据的服务器只能回复包含的标头Access-Control-Allow-Origin:*,所以可以从该服务器加载所有内容.
因此,只要有人设法将一段JS代码注入页面,就可以从属于攻击者的服务器加载每个恶意代码.

Unitl现在我假设,我必须启用跨域请求以允许我的页面上的代码从另一个域请求数据,但它似乎是相反的方式; 另一个域必须允许我的域请求数据.我真的没有看到这个概念的安全性好处.
任何人都可以解释这背后的概念,或者告诉我,如果我弄错了吗?

javascript xmlhttprequest same-origin-policy cors

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