我正在查看一位同事的ReactJs代码,并注意到他正在将自定义对象数组向下传递给5个级别的子组件作为道具。他正在这样做,最底层的子组件需要该数组的计数才能执行某些UI逻辑。
最初,我担心将大量潜在的对象传递给组件层次结构的许多层次,只是为了使底层的对象可以利用其数量来做某事。但是后来我在想:也许这没什么大不了的,因为props数组可能是通过引用传递的,而不是创建该数组的副本。
但是由于我是React的新手,所以我想在这里问这个问题,以确保我的假设是正确的,并查看其他人是否对通过这样的道具和任何更好的方法有任何想法/评论。
我正在使用 host.json 文件中的以下配置在本地使用 QueueTrigger 测试我的 Azure 功能(面向 .Net Core 的 v2)
“队列”:{“batchSize”:1,“newBatchThreshold”:0}
目的是限制每个 Function App 实例一次只能处理一个队列 msg。
如果要最大程度地减少函数应用中队列触发函数的并行执行,可以将批处理大小设置为 1。此设置仅在函数应用在单个虚拟机 (VM) 上运行时消除并发。
在 host.json 文件中,有这些配置
{ "queues": { "maxPollingInterval": 2000, "visibilityTimeout": "00:00:30", "batchSize": 16, "maxDequeueCount": 5, "newBatchThreshold": 8 } }
在我们的例子中,我不是要消除并发性,而是要确保每个函数应用实例一次只能处理一个队列 msg。然后,如果我们横向扩展函数应用程序以在多个 VM 上运行,则保证每个 VM 一次仅处理一个队列 msg。更具体地说,计划是在应用服务计划下运行azure功能,而不是消耗计划(b/c你对消耗计划的控制很少),并设置Scale Out规则来监控队列,最多N 个实例 (VM)。这种设置允许我们让每个 VM 一次运行一个 azure 函数应用程序实例,最多 N 个 VM。
当我在本地测试时,我的 azure 函数总是同时从队列中获取多个消息,即使在 host.json 文件中使用“BatchSize: 1”配置也是如此。我想知道它是否是 b/c 我正在本地 Azure 函数运行时测试它。我还没有在 Azure 中测试过这个。希望它在 Azure 中按预期工作。
我有一个div,如果它变长,它将显示一个滚动条。它是CSS
top: 35px;
overflow: hidden;
position: absolute;
width: 100%;
height: 100%;
bottom: 0px;
overflow-x: hidden;
display: block;
Run Code Online (Sandbox Code Playgroud)
不知何故,当我使用jQuery(v1.7.1)滚动此div时,它不适用于iPad(iOS 8.3)Safari,但在所有桌面浏览器上均能完美运行。这是代码
$('#myDivId').animate({ scrollTop: 100 });
Run Code Online (Sandbox Code Playgroud)
这个普通的JS代码在iPad Safari上都不起作用,但是在桌面浏览器上可以正常工作
var myDiv = document.getElementById('myDivId');
myDiv.scrollTop = 100;
Run Code Online (Sandbox Code Playgroud)
有人对为什么有任何想法吗?