我一直在尝试理解新的React Context API并且正在玩它.我只是想检查一个简单的案例 - 当更新数据到提供者时,所有重新呈现的内容.
所以,在我的例子中,我有一个App组件 - 具有类似这样的状态 -
this.state = {
number - A random number
text - A static text
}
Run Code Online (Sandbox Code Playgroud)
我从这里创建一个新的React Context包含number和text来自state并将值传递给两个使用者Number和Text.
所以我的假设是如果随机数更新,它将改变上下文,并且两个组件都应该触发重新渲染.
但实际上,价值正在更新,但没有重新发生.
所以,我的问题 -
对上下文的更新是否不会通过因使用的rerenders传播?因为当上下文改变时我看不到我的日志/颜色变化.
是否更新了该提供商的所有消费者?
我使用JqueryUI设置了基本选项卡(简化为仅相关的两个选项卡)
<div id="tabs">
<ul>
<li><a href="#tabs-1">Home</a></li>
<li><a href="#tabs-5">Benefits</a></li>
</ul>
<div id="tabs-1">
<UCHome:UCHome runat="server" />
</div>
<div id="tabs-5">
<UCBenefits:UCBenefits runat="server" />
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
在tabs-1的usercontrol中(简化为相关代码)
<a class="benefitc" href="#benefitsmodularity">
<span>Modularity</span>
<asp:Image runat="server" ImageUrl="../Images/Benefits1.png"/></a>
<a class="benefitc" href="#benefitsflexibility>
<span>Flexibility</span><asp:Image runat="server" ImageUrl="../Images/Benefits2.png" /></a>
Run Code Online (Sandbox Code Playgroud)
在tabs-5的usercontrol中(再次简化)
<div class="homecontent">
<div id="benefitsmodularity">
<h2>
(Modularity)</h2>
<p>
Hello
</p>
</div>
</div>
<div class="homecontent">
<div id="benefitsflexibility">
<h2>
(Flexibility)</h2>
<p>
World
</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
homecontent类只是用于造型.
现在基本上,当用户点击tabs-1上的图像并且我希望它转到与图像相关的div时,我想从tabs-1重定向到tabs-5.例如,如果用户单击Benefits2.png,那么我希望它转到tabs-5并关注.
到目前为止,我已经在document.ready
var $tabs = $("#tabs").tabs();
$('.benefitc').click(function () { // bind click event to link
$tabs.tabs('select', 4); // switch …Run Code Online (Sandbox Code Playgroud) 我需要使用查询来根据表中的字段获取一小时的最后一秒.
我已经处理了这个查询,它似乎工作(SQL Server 2008)
SELECT DATEADD(S,-1,DATEADD(hh,1,dateadd(分钟,datediff(分钟,0,GETDATE())/ 60*60,0)))
这是解决这个问题的最佳方式,还是更清晰(更易读)和更快捷的方法.我正在考虑速度,因为这将在一个包含大量字符串处理的表上运行,并且我正在尝试优化我可以的地方.
编辑:我最初发布这个问题的文字和主题,读作"当前时间的最后一分钟"这是为了读"最后一秒".我的头脑显然已经关闭了一天.为我的错误道歉
我需要将字符串转换为货币格式 {###}.###.###,##
那是
值为 5461497702600
会成为
54.614.977.026,00
数字变得非常大。
我在用
return string.Format("{0:#" + (val < 1000 ? "" : "\\.") + "##0.00}", val);
Run Code Online (Sandbox Code Playgroud)
该示例返回
54614977.026,00
(只有一个点)
任何帮助,将不胜感激
使用VB或C#,我从数据库中获取一个可变长度的字符串.此信息是仅某些用户才能看到的敏感信息.
我有两种情况会使用相同的逻辑(我认为).
方案1:用x替换所有字符
场景2:用最后4个字符替换除x之外的所有字符(假设长度> 4 - 正在进行此检查).
我认为这最容易使用Regex.Replace(输入,模式,替换字符串).与使用子串进行大量字符串处理并强制使用'x'的长度相反.
但似乎Regex永远是我的氪星石.
任何正则表达式大师的帮助将不胜感激.或者,欢迎更好的解决方案.