小编Ard*_*adi的帖子

React Hooks:在多个连续的 setState 调用上跳过重新渲染

假设我有以下代码:(太冗长了)

function usePolicyFormRequirements(policy) {
  const [addresses, setAddresses] = React.useState([]);
  const [pools, setPools] = React.useState([]);
  const [schedules, setSchedules] = React.useState([]);
  const [services, setServices] = React.useState([]);
  const [tunnels, setTunnels] = React.useState([]);
  const [zones, setZones] = React.useState([]);
  const [groups, setGroups] = React.useState([]);
  const [advancedServices, setAdvancedServices] = React.useState([]);
  const [profiles, setProfiles] = React.useState([]);

  React.useEffect(() => {
    policiesService
      .getPolicyFormRequirements(policy)
      .then(
        ({
          addresses,
          pools,
          schedules,
          services,
          tunnels,
          zones,
          groups,
          advancedServices,
          profiles,
        }) => {
          setAddresses(addresses);
          setPools(pools);
          setSchedules(schedules);
          setServices(services);
          setTunnels(tunnels);
          setZones(zones);
          setGroups(groups);
          setAdvancedServices(advancedServices);
          setProfiles(profiles);
        }
      );
  }, …
Run Code Online (Sandbox Code Playgroud)

performance setstate reactjs react-state-management react-hooks

7
推荐指数
2
解决办法
6568
查看次数

如何模拟键盘按键(+“ALT”键的 ASCII 码)

我最近了解到,如果我在/dev/tty中写入字符,它将模拟键盘的按键操作。

我想知道是否可以模拟按住某个键或组合键。

我正在寻找的是模拟Alt+Tab在打开的应用程序之间切换。我不是在寻找替代品。我正在练习学习如何模拟键盘上的物理按键。是否可以模拟按键组合(例如Alt+ Tab)?

另外,我怎样才能按Enter

看起来它不是“\n”或“\r”或“\r\n”或“\n\r”。我寻找密钥的原因Enter是我想在终端中执行“sudo”命令,当它提示输入密码时,我使用/dev/tty来回答,但它似乎是标准输入或标准输出(在 sudo 中使用“-S”选项)不起作用。

我做错了什么吗?是否有一些我应该寻找的库(例如Expect)?或者我想做的事情是不可能的?

我正在使用 C++。我想做的就是尝试模拟键盘上的物理按键。操作系统是Ubuntu 13.04(Raring Ringtail)。(只是作为练习)

但我有两个目标:

  1. 创建一个使用Alt+在应用程序之间切换的程序Tab在应用程序之间切换的程序。
  2. 与 Linux 终端交互。

我找到了两个解决方案:

  1. 将对应按键的字符/codeASCII写入/dev/tty
  2. 将相应键的字符/codeASCII写入标准输出和/或标准输入

但它们都不起作用。我所做的到底是对还是错?

linux keyboard-events

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