我在SocketIO的帮助下创建了一个小型ReactJS仪表板,用于实时更新.即使我有仪表板更新,但是我不知道我是否正确地做了它.
最让我烦恼的是getInitialState中的道具作为反模式帖子.我创建了一个仪表板,可以从服务器获取实时更新,除了加载页面之外不需要用户交互.从我所读到的,this.state应该包含将决定是否应该重新渲染组件的东西,并且this.props....我还不知道.
但是,当您最初打电话时React.render(<MyComponent />, ...),您只能传递道具.在我的情况下,我从服务器获取所有数据,因此最初的道具最终都会结束this.state.所以我的所有组件都有这样的东西:
getInitialState: function() {
return {
progress: this.props.progress,
latest_update: this.props.latest_update,
nearest_center: this.props.nearest_center
}
}
Run Code Online (Sandbox Code Playgroud)
除非我误解了上述博客文章,否则这是一种反模式.但我没有看到将状态注入Component的其他方法,我不明白为什么它是一个反模式,除非我重新标记我的所有道具以前置initial它们.如果有的话,我觉得这是一个反模式,因为现在我必须跟踪比以前更多的变量(那些前置的initial和那些没有的).
这是我修改Play框架的第一天,我在进化方面遇到了困难.我正在使用Play 2.4.
我从上来的许多选择了一个示例应用程序activator ui,它使用play-slick与play-slick-evolutions用于数据库连接和演进.
我已经仔细阅读了文档,但我似乎找不到从命令行运行演变的方法.当我activator在bash上运行时,我会被抛入一个shell中,并且help没有提出任何关于运行evolution或浮油的信息.
我已经做了一段时间的PHP,所以我习惯于从命令行上/下运行它们.我可以从数据库客户端删除表,activator run这应该提示我运行演进,但我正在寻找正确的手动方式来执行此操作.我想这是可能的,因为它需要在部署时完成.
我正准备发布iCal订阅功能,我想根据浏览器支持将协议设置为https://或webcal://.我知道webcal是一个非官方的协议,但有没有办法可以检查浏览器是否支持它?到目前为止似乎没有任何东西可以在IE8中运行,我即将测试IE9 +,但我更愿意为所有不理解的浏览器提供优雅降级webcal://(据我所知,Android浏览器似乎也有问题).
我有一个脚本,我在其中向表中添加一列,并在我用另一个表中的数据填充该列之后立即。我在添加的列上收到“无效的列名”错误。
错误,具体来说,是 Invalid column name 'tagID'.
BEGIN TRANSACTION和之间的代码COMMIT实际上是一个更大脚本的摘录,但这是相关的摘录(我需要所有这些才能成功或简单地回滚):
BEGIN TRY
BEGIN TRANSACTION
ALTER TABLE [Items] ADD tagID [uniqueidentifier] NULL
MERGE INTO
Items AS target
USING
Tags AS t ON t.tag = target.tag
WHEN MATCHED THEN
UPDATE SET target.tagID = t.id;
COMMIT
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
END CATCH
GO
Run Code Online (Sandbox Code Playgroud) 我正在使用 codeception REST 模块编写一些测试。
我正在做的项目处于早期阶段,我们还没有实现基于令牌的身份验证;所以现在身份验证是通过 REST API 完成的,但它$_SESSION用于持久性。
要测试经过身份验证的请求,我需要保留PHPSESSIDcookie 并随每个请求发送它。在使用 REST 模块时,有没有办法读取/设置 cookie?
我正在研究nand2tetris,我最终得到了很多文件,最终看起来像这样:
Bit(in=in[0], load=load, out=out[0]);
Bit(in=in[1], load=load, out=out]1]);
...
Bit(in=in[15], load=load, out=out[15]);
Run Code Online (Sandbox Code Playgroud)
所以我一直在第一行,然后使用15p,然后做:s/0/i/g15次(i我需要的索引在哪里).我注意到我可以替换它:s/\[\d\]/\[i\]/g,但即使在这里我手动设置i每次运行命令的值.是否有一个命令我可以运行,以便i自动计算\d+1,我可以重复每行的命令,而无需手动指定值?
codeception ×1
icalendar ×1
javascript ×1
nand2tetris ×1
play-slick ×1
reactjs ×1
sql-server ×1
vim ×1
webcal ×1