小编cha*_*eon的帖子

ReactJS:为什么将组件初始状态传递给反模式?

我在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和那些没有的).

reactjs

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

在命令行中运行Evolutions

这是我修改Play框架的第一天,我在进化方面遇到了困难.我正在使用Play 2.4.

我从上来的许多选择了一个示例应用程序activator ui,它使用play-slickplay-slick-evolutions用于数据库连接和演进.

我已经仔细阅读了文档,但我似乎找不到从命令行运行演变的方法.当我activator在bash上运行时,我会被抛入一个shell中,并且help没有提出任何关于运行evolution或浮油的信息.

我已经做了一段时间的PHP,所以我习惯于从命令行上/下运行它们.我可以从数据库客户端删除表,activator run这应该提示我运行演进,但我正在寻找正确的手动方式来执行此操作.我想这是可能的,因为它需要在部署时完成.

play-slick playframework-2.4

9
推荐指数
1
解决办法
3875
查看次数

JavaScript/Webcal - 协议检测?

我正准备发布iCal订阅功能,我想根据浏览器支持将协议设置为https://webcal://.我知道webcal是一个非官方的协议,但有没有办法可以检查浏览器是否支持它?到目前为止似乎没有任何东西可以在IE8中运行,我即将测试IE9 +,但我更愿意为所有不理解的浏览器提供优雅降级webcal://(据我所知,Android浏览器似乎也有问题).

javascript icalendar cross-browser webcal

6
推荐指数
0
解决办法
460
查看次数

事务中的 SQL Server '无效的列名'

我有一个脚本,我在其中向表中添加一列,并在我用另一个表中的数据填充该列之后立即。我在添加的列上收到“无效的列名”错误。

错误,具体来说,是 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)

sql-server

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

REST 模块获取/设置 cookie

我正在使用 codeception REST 模块编写一些测试。

我正在做的项目处于早期阶段,我们还没有实现基于令牌的身份验证;所以现在身份验证是通过 REST API 完成的,但它$_SESSION用于持久性。

要测试经过身份验证的请求,我需要保留PHPSESSIDcookie 并随每个请求发送它。在使用 REST 模块时,有没有办法读取/设置 cookie?

codeception

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

如何将当前行的整数增加1

我正在研究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,我可以重复每行的命令,而无需手动指定值?

vim nand2tetris

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