小编Raw*_*lus的帖子

npm-link 库上的挂钩调用无效

问题描述:

\n
    \n
  • 我目前正在编写一个名为eformless

    \n
  • \n
  • 我已经使用CRA创建了一个名为 的目录sandbox,我在其中链接了包。

    \n
  • \n
  • 当尝试使用我正在尝试测试的链接包启动沙箱反应应用程序时,我不断收到以下错误:

    \n
    // inside my \'sandbox\' App.tsx\nimport React from \'react\'\nimport { useField } from \'eformless\'\n\nconst App = () => {\n  const [test, handleChange] = useField(\'testing\')\n  return (\n    <input type="text" value={test.value} onChange={handleChange} />\n  )\n}\n
    Run Code Online (Sandbox Code Playgroud)\n
  • \n
\n
\n

错误:无效的挂钩调用。钩子只能在函数组件的主体内部调用。发生这种情况可能是由于以下原因之一:

\n
    \n
  1. 您的 React 和渲染器版本可能不匹配(例如 React DOM)
  2. \n
  3. 你可能违反了 Hooks 规则
  4. \n
  5. 您可能在同一应用中拥有多个 React 副本\n请参阅因 stackoverflow ToS 而更改的链接,了解有关如何调试和修复此问题的提示。
  6. \n
\n
\n

问题发生的地方:

\n

这个问题似乎指向我的库,我在其中编写了一个自定义钩子,该钩子使用从 React …

node.js npm typescript reactjs npm-link

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

ExecuteExcel4Macro从已关闭的工作簿中获取值

我找到了这段代码,并认为如果我只需要从一个封闭的表中提取一个值,那么使用它可能会很好.

strInfoCell = "'" & strPath & "[" & strFile & "]Sheet1'!R3C3"
myvalue = ExecuteExcel4Macro(strInfoCell)
Run Code Online (Sandbox Code Playgroud)

当我运行此代码,我得到一个值strinfocell

'C:\Users\my.name\Desktop[QOS DGL stuff.xlsx]Sheet1'!R3C3

但是当我运行代码时会弹出一个对话框,显示带有" QOS DGL suff"显示的桌面文件.

造成这种情况的原因是什么,不仅仅是按预期撤回数据?

我知道路径和文件名是正确的,因为如果我从调试输出中复制它们并将它们粘贴到start>>run那么打开正确的工作表.

我知道Sheet1(名为:) ACL,确实有价值cells(3,3)

excel vba excel-vba

12
推荐指数
2
解决办法
4万
查看次数

气流:日志未显示在 UI 中

当我单击任务然后单击“日志”按钮时,它不显示任何内容

缺少日志的示例

但是,我已经编辑了配置文件以将它们存储在特定的地方。

base_log_folder = /var/log/airflow

并且在 UI 中它特别指出该任务的日志在/var/log/airflow/solr-mentions-cleanups/run-solr-mentions-cleanups-1/2019-02-19T10:46:01.283247+00:00.log,但实际上该日志不存在。

我希望如果我在配置文件中指定了一个路径,那么日志应该就在那里。不确定还有哪些其他可配置的东西。

airflow airflow-scheduler

10
推荐指数
0
解决办法
2233
查看次数

无效的前向引用,或对未编译类型的引用

我目前正在使用代码来更新文件,其中循环运行多个工作表。到目前为止,代码运行顺利。在今天的运行中,我遇到了“运行时错误'-2147319767(80028029)'自动化错误,无效的前向引用,或未编译类型的引用。”

错误发生在线路上,Workbooks("Upload.xlsm").Worksheets(branchName).Range("C7").PasteSpecial Paste:=xlPasteValues并在循环的第 6 次迭代中出现。

我用作On Error Resume Next完成运行的临时措施,因为当时必须完成它。

完成后,有 3 次迭代失败(第六次、第七次和第十次)。这三者彼此之间没有相关性(即不同的复制源、值等),但具有完全相同的复制源/值的其他迭代成功完成。

稍后在这些工作表上运行另一个复制命令会导致相同的错误。我最终不得不删除并重新创建工作表来解决错误。

' Uploads file update

fpath = Workbooks("TEG Rates.xlsm").Worksheets("Link List").Range("E3").Value

Workbooks.Open fpath & "Upload.xlsm"

For branchNo = 21 To 37

    branchName = Workbooks("TEG Rates.xlsm").Worksheets("Link List").Range("A" & branchNo).Value
    branchGroup = Workbooks("TEG Rates.xlsm").Worksheets("Link List").Range("B" & branchNo).Value

    ' Copy/Paste Buy & Sell

    Workbooks("TEG Rates.xlsm").Worksheets(branchGroup).Range("D7:G111").Copy
    Workbooks("Upload.xlsm").Worksheets(branchName).Range("C7").PasteSpecial Paste:=xlPasteValues

    For no = 7 To 10

        Workbooks("Upload.xlsm").Worksheets(branchName).Range("D" & no).Value = "=ROUND(100/C" & no & ",6)"

    Next no

    Workbooks("Upload.xlsm").Worksheets(branchName).Range("D14").Value = "=ROUND(100/C14,6)"
    Workbooks("Upload.xlsm").Worksheets(branchName).Range("D15").Value …
Run Code Online (Sandbox Code Playgroud)

excel vba

8
推荐指数
4
解决办法
3万
查看次数

VBA中可能的最大十进制值是多少?

我一直试图DEC_MAX创建类似于常量的东西.


问题是,它有点棘手,因为没有Decimal数据类型!
最接近有效十进制的CDec()函数是定义的函数:

将Decimal数据值返回到Decimal,该值是Expression被Let-coerced为Decimal的结果

很自然地,我认为任何潜在的过度价值都会被合并到最大可实现的价值Decimal.我尝试从MSDN文档中插入max Decimal

但是请注意这一点,因为尝试这样做会导致溢出:

在此输入图像描述

那么如何在这里计算最接近的十进制最大值?我试过这个"计算机砖"丑陋的代码循环:

Private Sub brick_my_Excel()
  On Error Resume Next
  x = 79228162514264337593543950335 'let's let it auto-coerce i guess
  Do 
     Debug.Print(x)
     x = x - 1
  Loop
End Sub
Run Code Online (Sandbox Code Playgroud)

然而,这完全抑制了溢出,以几乎像字符串的方式打印x而不太注意计算.

所以,

  1. 如何计算它?
  2. 我们可以传递给CDec()函数的最大可能表达式是什么?

error-handling excel vba exception limit

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

一叠纸牌

我试图创建一堆卡片,相互叠加和偏移,以可视化卡片的多个版本。

在此处输入图片说明

我曾尝试将卡片放入卡片中,但没有找到抵消它们的方法。我也尝试过使用堆栈类,但没有成功。

有谁知道我怎样才能达到这种效果?

flutter flutter-layout

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

在VBA中复制粘贴数据的"正确"方法是什么?

关于更多理论目的的问题:

/复制粘贴数据的"正确"方法是什么?

现在,至少据我所知,这三种是唯一可用的方法:

  1. (Range) .Copy([Destination])方法
  2. (Worksheet) .Paste([Destination, Link])方法
  3. (Range) .PasteSpecial([Paste], [Operation], [SkipBlanks], [Transpose])方法

现在,我做了我的研究,这些都是利弊.Copy([Destination]).Paste([Destination, Link])方法,至少那些,我能想到的:

+ 优点:

  • 允许我们将数据粘贴到与复制相同的表达式中(代码可读性我猜...?)

和:

- 缺点:

  • 细胞参考是完全没有去!
  • 你的格式和公式可能搞砸了
  • 如果范围重叠,它将显示一个提示,有效地阻止宏死在它的轨道上 (这是一个巨大的无赖,特别是如果你试图自动化的东西)
  • 更糟糕的是,如果按下Cancel提示,它将抛出Error**(除非处理)

在硬币的另一边, .PasteSpecial()

+ 优点:

  • PasteSpecial() 允许我们粘贴范围的特定部分!
  • 它允许我们指定我们想要做什么类型的粘贴
  • 有一个内置的skipBlankstranspose功能
  • 不是"所以" - 不是Error!

我努力想出任何一个,但是:

- 缺点:

  • 要写更多的字符..?

现在,这让我相信,方法的Destination论点.Copy()应该基本上被忽略,而PasteSpecial() …

excel performance vba copy-paste excel-vba

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

我怎么能延迟承诺呢?

我有以下功能:

async typewrite(what, where){}- 模拟某人输入文本
async typeerase(where){}- 类似于打字,但模拟某人按退格键 typetimer(){}- 返回一个承诺,随机间隔来模拟打字速度.

基本上,我想要做的是在typewrite函数完成后,我想在一小段延迟后擦除文本.我试图人为地推迟它setTimeout,但这似乎不起作用.


以下代码按预期工作

typewrite('Hello world!', target).then(erase => typeerase(target));

let typetimer = (fmin, fmax) => ( 
  new Promise(res => setTimeout(res, Math.floor(Math.random() * (fmax - fmin + 1)) + fmin))
); 

const textarea = document.getElementById('textarea');

async function typewrite(what, where){
  let current_text = '';
  const typespeed_min = 50;
  const typespeed_max = 150;
  
  for (let i = 0; i < what.length; i++){
    await typetimer(typespeed_min, typespeed_max);
    current_text += what.charAt(i); …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous promise async-await es6-promise

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

Application.Cells VS Application.ActiveSheet.Cells

宏记录器生成以下语句:

Cells.Select
Run Code Online (Sandbox Code Playgroud)

现在我明白,如果没有对象限定符,这将返回所有单元格作为Range对象.

但是,我想知道这个陈述的完全限定版本是什么?

是吗:

  1. Application.Cells.Select
  2. Application.ActiveSheet.Cells
  3. Application.ActiveWorkbook.ActiveSheet.Cells

换句话说,VBE在运行时实际执行了哪一个完全限定的语句Cells.Select

所有这些之间的区别是什么?因为所有这些最终都访问了同一个对象 - 如果我想明确限定所有对象,那么我会使用哪个语句来个人偏好?

非常感谢!

excel vba excel-vba cells vbe

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

[`expression`]表示法是什么意思?

我最近开始学习,偶然发现了这段代码:

handleChange = event => {
  const { name, value } = event.target

  this.setState({
    [name]: value,
  })
}
Run Code Online (Sandbox Code Playgroud)

我有些困惑,尤其是与以下符号:

[name]: value,
Run Code Online (Sandbox Code Playgroud)

有什么[ ]用?

我了解,const = { name, value } = event.target用来将对象破坏为属性,但是这种[name]表示法似乎很奇怪,而且我在任何编码中都没有看到过对此的引用。

尽管我尽最大努力进行谷歌搜索[] javascript usage 和类似操作,但是我找不到类似的东西。

我最好的猜测是与object["property"]表达的相似性,但与之 相比,这似乎仍然有些奇怪。

javascript reactjs

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