小编tha*_*pNB的帖子

连续递增跳过数字

ID | info
---------
1  | xxx
2  | xxx
4  | xxx
Run Code Online (Sandbox Code Playgroud)

我在 PostgreSQL 中有一个与此类似的设置。(如果有区别的话,我使用的是运行Mojavemac)。

我还有几列,但问题是ID列。这被设置为顺序的,所以使用 Express 我插入到数据库中。

问题是,它会增加ID每个插入甚至失败的插入。info已定义unique,因此尝试插入现有会info返回错误。但是ID还是递增。

例如,如果我插入 2 行,我有id 1& id 2。然后另一个因唯一违规而失败。下一个成功的插入获取id = 4,跳过id = 3

我可以设置 Postgres 使其不会在插入失败时增加吗?

postgresql macos sequence node.js express

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

React Typescript SetStateAction 通用混淆?

我个人不知道如何表达这个问题。我遇到的问题涉及我将一个钩子传递到子组件中,但如果有意义的话,setState它并不总是相同的操作。setState

例如,假设我有setState(a)一个期望的参数string,并且同一个子组件最终可能会得到一个setState(b)期望的参数number......现在实际上,子组件期望的参数是不同类型的泛型,如果那样的话说得通。

因此,为了简单起见,我将创建一个组件,该组件需要一个涉及 或 的setState(a)prop setState(b)。现在我收到一条错误消息,指出类型React.Dispatch<React.SetStateAction<string | number | undefined>>不可分配给类型React.Dispatch<React.SetStateAction<string | undefined>>

我如何设置它,以便它可以预期 a stringnumberundefined。了解在某些情况下,数字甚至不是它的选项,或者字符串甚至不是它接受作为参数的选项。

抱歉,这个问题令人困惑,我尽力解释这一点。我对 Typescript 有点陌生,正在尝试找出同时使用它和 React 的最佳方法!(我对 hooks 也有点陌生!)

谢谢大家!!

编辑:一个更好的例子

  const [a, setA] = useState<string | undefined>();
  const [b, setB] = useState<number | undefined>();

  if (something) {
    return (
      <CustomChildComponent useThisState={setA}/>
    )
  } else if (somethingElse) {
    return (
      <CustomChildComponent useThisState={setB}/>
    )
  }
Run Code Online (Sandbox Code Playgroud)

CustomChildComponent …

javascript typescript ecmascript-6 reactjs

5
推荐指数
0
解决办法
1683
查看次数

pip install dotenv错误代码1 Windows 10

我在virtualenv并试图通过pip安装.我知道代码有效,因为在virtualenv之外这个代码已经有效了.我在Windows 10机器上运行.使用Git Bash终端或常规命令提示符(已尝试作为管理员和普通用户).我试图跑, pip install dotenvpython -m pip install dotenv 两者都没有.我得到错误说

AttributeError:模块'importlib._bootstrap'没有属性'SourceFileLoader'在处理上述异常期间,发生了另一个异常:命令"python setup.py egg_info"失败,错误代码1在C:\ Users\USER~1\AppData \本地的\ Temp\PIP-集结7bbdcnx2\dotenv \

我还试图做一些事情,比如python -m pip install setuptools --upgrade 卸载setuptools并重新安装它.重启我的电脑.还有很多其他的东西.我不太确定还有什么可以尝试(我在此之前安装了烧瓶并且它有效,我也可以安装其他东西,如mitmproxy作为例子)任何想法?同样,这是一台Windows 10机器,我只想为Python 安装dotenv(版本3.6.4,如果重要的话).谢谢.

python windows shell virtualenv

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

快速 Java 匿名函数/类问题

我知道匿名函数在 JS 中是如何工作的,并且对 Java 中的部分内容有点困惑。

所以在下面我有一个匿名类(我只是使用 Thread 类作为我所看到的示例),在那里我覆盖了run()函数,然后在该类上调用.start()

new Thread() {
    @Override
    public void run() {
        System.out.println("Hello from the anonymous class thread");
    }
}.start();
Run Code Online (Sandbox Code Playgroud)

所以这是有效的,但 IntelliJ 想让我把它改写成这样:

new Thread(() -> System.out.println("Hello from the anonymous class thread")).start();
Run Code Online (Sandbox Code Playgroud)

我得到了大部分这种语法,但对如何覆盖run()函数有点困惑。根据我的理解,没有参数被传递到 Thread 类(所以没有任何参数被传递到我假设的构造函数中)。现在我感到困惑的地方就在这里。它没有在任何地方声明它覆盖run()函数。这是Thread类的特例还是我遗漏了什么?

希望我清楚地解释了这一点,并提前致谢!

java lambda multithreading anonymous-class java-8

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