ID | info
---------
1 | xxx
2 | xxx
4 | xxx
Run Code Online (Sandbox Code Playgroud)
我在 PostgreSQL 中有一个与此类似的设置。(如果有区别的话,我使用的是运行Mojave的mac)。
我还有几列,但问题是ID列。这被设置为顺序的,所以使用 Express 我插入到数据库中。
问题是,它会增加ID每个插入甚至失败的插入。info已定义unique,因此尝试插入现有会info返回错误。但是ID还是递增。
例如,如果我插入 2 行,我有id 1& id 2。然后另一个因唯一违规而失败。下一个成功的插入获取id = 4,跳过id = 3。
我可以设置 Postgres 使其不会在插入失败时增加吗?
我个人不知道如何表达这个问题。我遇到的问题涉及我将一个钩子传递到子组件中,但如果有意义的话,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 string、number或undefined。了解在某些情况下,数字甚至不是它的选项,或者字符串甚至不是它接受作为参数的选项。
抱歉,这个问题令人困惑,我尽力解释这一点。我对 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 …
我在virtualenv并试图通过pip安装.我知道代码有效,因为在virtualenv之外这个代码已经有效了.我在Windows 10机器上运行.使用Git Bash终端或常规命令提示符(已尝试作为管理员和普通用户).我试图跑,
pip install dotenv
或
python -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,如果重要的话).谢谢.
我知道匿名函数在 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类的特例还是我遗漏了什么?
希望我清楚地解释了这一点,并提前致谢!
ecmascript-6 ×1
express ×1
java ×1
java-8 ×1
javascript ×1
lambda ×1
macos ×1
node.js ×1
postgresql ×1
python ×1
reactjs ×1
sequence ×1
shell ×1
typescript ×1
virtualenv ×1
windows ×1